2011-09-02 219 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>後。