下午好社区,
我希望你们一切都好。
我正在构建我的第一个网站,但遇到以下问题;当我尝试创建新用户时,如果用户输入了错误的数据,模板不会显示错误。任何提示?
模板:
<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>
视图.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)
表格.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>
本节还讨论了如何枚举错误,并对这些错误应用某些样式。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句