gpt4 book ai didi

forms - Django 基于类的通用 View 注册用户

转载 作者:行者123 更新时间:2023-12-04 18:10:14 25 4
gpt4 key购买 nike

friend 们晚上好。

我正在尝试创建一个应用程序以方便用户注册。使用 Django 1.5,我的问题是用户没有保存在数据库中,我的代码在这里:

#forms.py
class UserCreationForm(forms.ModelForm):
username = forms.RegexField(regex=r'^[\w.@+-]+$',max_length=30,label='Username')
email = forms.EmailField(label="E-mail")
password1 = forms.CharField(widget=forms.PasswordInput,label="Password")
password2 = forms.CharField(widget=forms.PasswordInput,label="Repeat Password")

class Meta:
models = User
fields = ('username','email','password1','password2')

#views.py
from myapp.register.forms import UserCreationForm
class CreateUser(FormView):
template_name = 'registration/registration_form.html'
success:url = '/'
form_class = UserCreationForm
def is_valid(self, form):
user = User.objects.create_user(form.cleaned_data['username'],
form.cleaned_data['email'],
form.cleaned_data['password1'])
#user.save()
return super(CreateUser, self).form_valid(form)

每次我尝试创建一个用户时,他们都没有被保存。我做错了什么?

“我正在学一点英语,请原谅我的错误。谢谢”

最佳答案

首先,您知道您已经对 user.save() 进行了注释,对吗? ;-)

话虽这么说,但您以错误的方式处理了整个问题。如果您尝试保存模型实例,请使用 CreateView 而不是 FormView 作为 View 的基础。这样你就不需要编写你所做的所有代码,比如 is_valid 方法(你也不需要在你的表单中显式设置字段;它们将从你的模型字段中推断出来).

关于forms - Django 基于类的通用 View 注册用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15590182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com