2011-01-06 114 views
0

使用Django 1.2.3的Im。我在我的網站登錄功能使用django.contrib.auth.views.login。用戶輸入正確的用戶名和密碼後即可登錄。但是,form.has_errors不起作用,即如果輸入的登錄憑據不正確,我看不到錯誤消息。我的login.html模板/註冊如下:form.has_errors標記不起作用

<html> 
    <head> 
     <title>Login</title> 
    </head> 
    <body> 
     <h1>User Login</h1> 
     {% if form.has_errors %} 
      <p>Your username and password didn't match. Please try again.</p> 
     {% endif %} 
     <form method="post" action="."> 
      {% csrf_token %} 
      <p><label for="id_username">Username:</label> {{ form.username }}</p> 
      <p><label for="id_password">Password:</label> {{ form.password }}</p> 
      <input type="hidden" name="next" value="/" /> 
      <input type="submit" value="login" /> 
     </form> 
    </body> 
</html> 

任何方法來解決這個問題?請致電 謝謝。

回答

6

Form對象確實有一個errors屬性,以獲取更多信息讀the docs

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

顯然has_errors是有效的在Django 0.95但不從至少1.0向上(如將其用errors取代)。 [reference]

+0

+1,有關此更改的更多詳細信息已在django 1.0中完成,請查看此鏈接獲取更多信息:http://django-project.blogspot.com/2008/12/errors-and-haserrors.html – mouad 2011-01-06 12:23:02