- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
在 Django 中使用 ModelForms 创建新用户是最佳实践还是必要的?我所做的是在 HTML 中创建一个表单,并将该表单 POST 到我的一个 View 中的一个函数以创建一个帐户。我问这个的原因是因为我是 Django 的新手,在玩 Django 时,我不确定与我自己在 HTML/CSS 中创建表单相比,ModelForms 是否允许灵活地设计和装饰生成的 HTML。
用户模型:
class BeeradUser(models.Model):
user = models.OneToOneField(User)
is_active = models.BooleanField(default=False)
activation_code = models.CharField(max_length=36)
注册函数:
def register(request):
if request.method == "POST":
username = request.POST.get("username")
firstname = request.POST.get("firstname")
lastname = request.POST.get("lastname")
email = request.POST.get("email")
password = request.POST.get("password")
payload = {
"username": username,
"firstname": firstname,
"lastname": lastname,
"email": email,
"password": password
}
try:
unique_key = str(uuid.uuid4())
user = User(username=username, first_name=firstname, last_name=lastname, email=email, password=password)
# Modified User class
new_user = BeeradUser(user=user, activation_code=unique_key)
except TypeError as e:
return render(request, "error/404.html")
return render(request, "success.html", {"payload": payload})
else:
print "there"
poop = {"data": "sdfsdf"}
return render(request, "fail.html", {"payload": poop})
形式:
<form class="signup-form" method="post" action="/auth/signup/" id="create-account">
{% csrf_token %}
<input id="signup-username" name="username" type="text" placeholder="Username">
<input id="signup-firstname" name="firstname" type="text" placeholder="First Name">
<input id="signup-lastname" name="lastname" type="text" placeholder="Last Name">
<input id="signup-email" name="email" type="email" placeholder="Email">
<input id="signup-password" name="password" placeholder="Password" type="password"><div id="pswd-msg"></div>
<input id="signup-confirm-password" name="confirm-password" placeholder="Confirm Password" type="password"><div id="result"></div>
<button type="submit" class="btn btn-xl" id="create-acc-btn" name="signup-submit">Create Account</button>
</form>
显然,注册函数还没有将用户save()
到数据库,但我想知道这与使用 ModelForms 相比是否是正确的方法
最佳答案
你没有保存它。试试这个来创建新用户
user = User(username=username, first_name=firstname, last_name=lastname, email=email, password=password)
user.save()
还有
new_user = BeeradUser(user=user, activation_code=unique_key)
new_user.save()
关于python - 使用或不使用 ModelForms 创建新帐户并使用 HTML/CSS 进行设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29913814/
我基于几个 ModelForm 元素创建了一个表单。除了图像字段。由于缺少 ImageField form.is_valid() 总是返回 False - 即使我将 request.FILES 传递给
我需要将 CSS 类分配给表单字段,我指的是这篇 SO 帖子: CSS styling in Django forms 但是,我无法让它与扩展另一个 ModelForm 的 ModelForm 一起工
我是 Django 的新手,正在使用这个项目来学习它。我能够保存日志记录,但多对多关系不起作用。 这个“创建” View 显示了正确的形式,包括带有所有列出的加密货币的多选框(来自加密模型)。提交表单
为了确保强制用户从下拉列表中选择一个有效的值(而不是无意中保留列表集中的第一个选项而不将其更改为正确的值),我在许多必填表单域中插入了空白的选项域。。Models.py。原始forms.py(显式定义
我正在尝试使用 ModelForm 创建一个简单的 CRUD。它工作正常,只是每次我编辑时,保存都会创建一个新的数据实例。所以我编辑并在数据库中获得了一个额外的行而不是更新的行。我不知道它如何知道如何
Django 在其 ModelAdmin 对象上有自定义的“操作”,但我找不到与 ModelForm 对象类似的东西。我正在使用 Django-CMS,因此似乎无法轻松访问对象的 ListView ,
我正在尝试创建一个表单变量。默认播放器的级别为 0,他可以更改名称。以后到了1级,就可以改名字和头像了。当他3级时,他可以改变名字、头像和工作。等等... 模型.py: class Player(mo
现在正在尝试解决一个有趣的问题。 我有一个带有 image 的 Django 模型字段不是必需的,但在创建新模型实例时设置为默认值。 class Product(models.Model):
我发现Django中的ModelForm非常易于使用,并且节省了大量开发时间。 但是,当我意识到is_valid实际上保存了ModelForm时,我陷入了困境!我想知道这是否是预期的行为,还是我做错了
我的 modelForm 遇到了一个小问题,它可以工作,但是如果我尝试使用自定义 html,当我尝试遍历 form.bairro 时会出现错误。 我的型号: class Bairro(mode
在我的模型中,我有; title = models.CharField(verbose_name="eBay Listing Title",max_length=56) 使用 ModelForm,标签
我有一个非常基本的模型,上面有一个 ImageField,还有一个用于上传该图像的 ModelForm。我的表单失败,说我的图像无效,但是如果我直接从 request.FILES 实例化模型的图像,它
好的,我一直盯着这个几个小时试图弄清楚发生了什么,但无济于事。 我正在尝试使用“instance”关键字创建一个 ModelForm 以将其传递给现有模型实例,然后保存它。 这是 ModelForm(
我有模特: class TestPolja(models.Model): class Meta: verbose_name = 'Test polja' int
有这个禁用属性。但我无法将其应用于模型表单字段。我不知道该怎么做。我可以轻松地将它添加到 forms.Form 中。但是因为我使用的是小部件,所以我不知道在哪里插入它。 https://docs.dj
如何在我的模型表单中只保存选定的字段?文档对我没有帮助我的表格: class ProfileForm(forms.ModelForm): class Meta: model =
这里的 Django 初学者在让表单工作时遇到了很多麻烦。是的,我已经完成了教程并浏览了很多网络 - 我所拥有的是我在这里和其他网站上找到的东西的混合。我使用的是 Python 2.7 和 Djang
我有一个模型和一个表单 (forms.ModelForm),其中有一个 ImageField。该模型类似于: class Business(models.Model): business_na
我有一些带有用户字段的模型。 为此,我想创建一个表单混合,它将添加 self.user 实例(在 View 中提供给表单)。这可能吗? 这是示例 class UserFormMixin(object)
这个问题已经有答案了: How to update an object from edit form in Django? (2 个回答) 已关闭 7 年前。 我需要一个表格,允许在计划中创建或添加
我是一名优秀的程序员,十分优秀!