Django错误消息未显示为无效登录

2024-04-28 21:45:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用auth在Django中执行登录功能。但是,每当我输入无效密码时,它不会显示错误消息

login.html:

{% extends 'base.html' %}

{% block content %}
  <h2>Log in</h2>
  <form method="post" >
    {% csrf_token %}
    {% for field in form %}
      <p>
        {{ field.label_tag }}<br>
        {{ field }}
        {% if field.help_text %}
          <small style="color: grey">{{ field.help_text }}</small>
        {% endif %}
        {% if field.errors %}
          {% for error in field.errors %}
            <p style="color: red">{{ error }}</p>
          {% endfor %}
        {% endif%}
      </p>
    {% endfor %}
    <button type="submit">Log in</button>

  </form>
{% endblock %}

url.py:

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',include('ecomm.urls')),
    path('accounts/', include('django.contrib.auth.urls')),
]

Tags: pathdjangoinformauthlogfieldfor
1条回答
网友
1楼 · 发布于 2024-04-28 21:45:43

The most common cause of this error is when you create a new form, replacing the form which contains the form.errors and returning it to the template.

如果您使用的是django.contrib.auth.views.login,那么documentation表示您应该在表单中指定action并将其分配给

{% url 'django.contrib.auth.views.login' %}

您应该将form更改为

<form method="POST" action="{% url 'django.contrib.auth.views.login' %}">

<强>如果这不能解决问题,请考虑将相关的^ {< CD4>}代码添加到您的问题中。<强>

相关问题 更多 >