大家下午好
我希望你们都好。
我正在建设我的第一个网站,我有以下问题;当我尝试创建一个新用户时,如果用户输入了错误的数据,模板不会显示错误。有提示吗?
模板:
<form action= "" method='post'>
{% csrf_token %}
{% for field in form %}
<p>{{field.label}}{{field}}</p>
{% endfor %}
<button type="submit" class="btn btn-success">Create User</button>
Views.py:
def register_page(request):
form = UserForm
if request.method == 'POST':
form = UserForm(request.POST)
if form.is_valid():
form.save()
return HttpResponseRedirect('http://127.0.0.1:8000/login_user/')
context = {'form' : form}
return render(request, 'simple_investing/register.htm', context)
Forms.py:
class UserForm(UserCreationForm):
class Meta:
model = User
fields = ('username', 'email', 'password1', 'password2')
正如在文档的手动呈现字段一节中所讨论的那样,对于字段,您还应该呈现{{ field.errors }}
和{{ form.non_field_errors }}
,它们处理非特定于某个表单的错误。
模板应该是这样的:
<form action= "" method="post">
{% csrf_token %}
{{ form.non_field_errors}}
{% for field in form %}
<p>
{{ field.errors}}
{{ field.label }}
{{ field }}
</p>
{% endfor %}
<button type="submit" class="btn btn-success">Create User</button>
</form>
本节还讨论了如何枚举错误,并对这些错误应用特定的样式。