2011-09-02 221 views
2

我有一个正常的django登录页面,但由于某种原因,如果我输入错误的登录信息,它不显示错误消息,它只是刷新页面。有任何想法吗?django登录不显示错误消息

的login.html

{% if form.errors %} 
      <p>Your username and password didn't match, please try again.</p> 
{% endif %} 

     <form method="post" action="."> 
      <p> 
       <label for="id_username">Username:</label> 
       {{ form.username }} 
      </p> 
      <p> 
       <label for="id_password">Password:</label> 
       {{ form.password }} 
      </p> 
      {% if next %} 
       <input type="hidden" name="next" value="{{ next }}" /> 
      {% else %} 
       <input type="hidden" name="next" value="/portal/" /> 
      {% endif %} 
      <input type="submit" value="login" /> 
     </form> 
+1

从行动中删除点 –

+0

你可以发布视图代码登录? – Pannu

+0

我删除了“。”和相同的结果 – avatar

回答

3

这可能是可能是您创建一个新的form,替换其中包含form.errors形式并将其返回到模板。如果form.is_valid():不是True那么它会查找下一个逻辑返回。在您返回模板之前,您可能正在创建新的form

编辑:

如果您使用的是django.contrib.auth.views.login那么documentation说,你应该在指定的形式action并将其分配给

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

你应该改变你的form

<form method="POST" action="{% url 'django.contrib.auth.views.login' %}">也使用使用 的{% csrf_token %}<form>后。