gpt4 book ai didi

python - 表单中的数据未插入到用户表中

转载 作者:行者123 更新时间:2023-11-30 23:31:27 25 4
gpt4 key购买 nike

我正在尝试从基类 UserCreationForm 创建注册表单,在 django 中添加电子邮件字段。代码如下:

form.py

class ussignup(UserCreationForm):

email=forms.EmailField()

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

def save(self, commit=True):
user = super(UserCreationForm, self).save(commit=False)
user.email=(self.cleaned_data["email"])
if commit:
user.save()
return user

view.py

def signup(request):
if request.method=='POST':
form=ussignup(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/rgsuc')

args={}
args.update(csrf(request))
args['form']=ussignup()
return render_to_response('register.html',args)

urls.py

 url(r'^accounts/signup',signup),

错误 输出显示电子邮件字段。但是它既不验证必填字段,也不将电子邮件字段数据插入到用户数据库表中 我尝试通过这个视频教程here

最佳答案

在你看来,你正在做

form=signup(request.POST)

应该是

form=ussignup(request.POST) 

即使用表单类名来实例化表单。

此外,最好在无效时显示表单错误(如果有),您可以通过将代码更新为来做到这一点

def signup(request):
if request.method=='POST':
form=ussignup(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('/accounts/rgsuc')
else:
form=ussignup()
args={}
args.update(csrf(request))
args['form']=form
return render_to_response('register.html',args)

关于python - 表单中的数据未插入到用户表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19899954/

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