【发布时间】:2016-01-19 04:25:24
【问题描述】:
我想写一个表单来注册用户。我想实现一个密码匹配,用户必须输入他的密码两次。这是我目前的表格:
from django import forms
from passwords.fields import PasswordField
class AccountForm(forms.Form):
email = forms.EmailField(max_length=255)
username = forms.CharField(max_length=40)
password = PasswordField(label="Password")
password_confirm = PasswordField(label="Password")
在我看来,我想检查验证,如果某些内容无效,我想在模板中打印特定错误。这是我目前的观点:
def signup(request):
if request.method == 'POST':
form = AccountForm(request.POST)
if form.is_valid():
email = form.cleaned_data['email']
username = form.cleaned_data['username']
password = form.cleaned_data['password']
password_confirm = form.cleaned_data['password_confirm']
if password != password_confirm:
print("Password don't match")
#Account.objects.create_user(email, password, username = username)
else:
print(form.errors)
form = Account()
return render(request, 'authentication/auth.html', {'signup': form})
现在我的目标是将表单错误传递给模板。例如,我检查password 与password_confirm 变量的匹配。如果它们不匹配,我希望它在模板中可见。你们知道如何将我的自定义表单错误/验证添加到我的表单并在我的模板中显示这些错误吗?
【问题讨论】:
标签: django django-forms django-validation