Невозможно увидеть сообщения об ошибках в шаблоне регистрации. Django
Добрый день, сообщество,
Надеюсь, у вас все хорошо.
Я создаю свой первый сайт и у меня возникла следующая проблема: когда я пытаюсь создать нового пользователя, если пользователь вводит неправильные данные, шаблон не показывает ошибку. Есть какие-нибудь подсказки?
Шаблон:
<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>
В разделе также обсуждается, как перечислить ошибки и применить определенные стили к этим ошибкам.