2011-01-06 10 views
0

Django 1.2.3を使用しています。私は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ジャンゴ0.95で有効だったではなく(それは errorsに置き換えたとして)上向きに少なくとも1.0から。 [ reference]

+0

+1この詳細については、django 1.0で変更されています。詳細については、このリンクをチェックしてください:http://django-project.blogspot.com/2008/12/errors-and-haserrors.html – mouad

+0

@ ularlyity Djangoのドキュメントも1.0までしか戻っていないので、私はそれを確認できません。 –

+0

@Marcus Whybrow:多分私はそれを助けることができます:)、いくつかのURLの操作:)ここでは、django 0.96のドキュメントです:http://www.djangoproject.com/documentation/0.96/。 – mouad

関連する問題