python - Django 错误消息未显示无效登录
问题描述
我曾经auth
在 Django 中执行登录功能。但是,每当我输入无效密码时,它都不会显示错误消息。
登录.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 %}
网址.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')),
]
解决方案
此错误的最常见原因是当您创建一个新的
form
,替换包含 的表单并将其form.errors
返回到模板时。
如果您使用的是 django.contrib.auth.views.login 那么文档说您应该action
在表单中指定并将其分配给
{% url 'django.contrib.auth.views.login' %}
.
你应该改变你form
的
<form method="POST" action="{% url 'django.contrib.auth.views.login' %}">
如果这不能解决您的问题,请考虑将您的相关views.py
代码添加到您的问题中。
推荐阅读
- angular - Angular 从代码中动态导入 @angular/http
- algorithm - 如何在大量向量中找到少数相似向量?
- java - 在没有大量循环的情况下确定字符串数组中的值是否相等
- sql - SQL,限制可以添加的次数
- c# - 查找两个不同类型列表之间的差异
- php - 在 PHP 方法中调用 PDO
- node.js - 节点服务器地理位置
- java - Gradle:我可以将 scala 插件用于仅用 java 编写的应用程序吗?
- cordova - Ionic 4 FCM onNotification 未被调用
- php - 如何根据laravel/php中array3的数组索引获取数组1和数组2的值?