Django AuthenticationForm Сообщения об ошибках не отображаются
Мой вопрос в том, что когда я ввожу неправильный email или пароль, сообщение об ошибке не показывается, но почему?? и как я могу это исправить?
Это моя функция Signin View
def signin(request):
form = AuthenticationForm(request=request, data=request.POST)
if form.is_valid() == True:
user = authenticate(email=form.cleaned_data['username'], password=form.cleaned_data['password'])
if user is not None:
login(request, user)
return HttpResponse(f'{request.user}')
else:
context = {'form': form}
return render(request, 'signin.html', context)
Это мой Html
<form action="{% url 'signin' %}" method="post">
{% csrf_token %}
{% for field in form %}
{{ field.errors }}
{{ field }} <br>
{% endfor %}
<button type="submit">Signin</button>
</form>
Я думаю, вам нужно добавить {{ form.non_field_errors }}
в ваш шаблон. Это связано с тем, что ошибка, возникающая при неудачной аутентификации, не связана с конкретным полем, поэтому она не включается в ошибки какого-либо поля. Reference