私はdjango 1.1を使用しています。 is_activeフラグのドキュメント
http://docs.djangoproject.com/en/1.1/topics/auth/#topics-auth
は、これは、ユーザーがログインすることができます かどうかを制御しませんdjango-registration、django.contrib.authログインとユーザー "アクティブ"フラグ
を言います。あなたがしたいので、もし 認証パスで何が、 is_activeフラグをチェックしません is_activeに基づくログインを拒否する がFalseである場合は、自分のログインビューで をチェックする必要があります。ただし、 のhas_perm()のような許可チェックでは、 というこのフラグがチェックされ、 の非アクティブユーザーの場合は常にFalseが返されます。
私はdjango-registration(最新の0.8 alpha)を使用しており、すべてのデフォルトバックエンドを使用しています。 django登録の前提はis_activeフラグに基づいています。すなわち、ユーザが起動した後にのみ設定される。しかし、ユーザーがログインすると、django.contrib.auth.views.loginを使用していることがわかります。私はauth_urls.pyのコードからこれを見ることができます。
すると、ユーザ登録がまだ起動していない、私はの線に沿って何か「あなたはあなたのアカウントを有効化していない」と言う表示するメッセージをしたい
現在デフォルトの動作は、フォームのエラーですメッセージは
@login_required
私の質問があり、私はまた私の見解でログインデコレータを使用してい
を「ユーザ名とパスワードが一致しない」、言う:
EDIT:ありがとうございましたJamesとHenry。私は自分の質問をよく説明しているとは思わない。私はこれをやり直しました。
- Djangoのドキュメントは、ユーザーのログイン時に決定因子としてis_active使用されていないことを述べている。これは非常に明確にませケースです。自分で試してみてください。私はコード内でこれがどこで起こるかわかりません。誰か知っていますか?限り、私は見ることができますそれはジャンゴ登録やdjango.contrib.authで発生しません。
- 私が上記で説明したエラーメッセージを表示するには、これについてどうすればよいでしょうか?私がdjango登録を使用しているので、配管の多くが既に行われていることに注意してください。私はむしろこれを変更したり、すべてを書き換えたりしません。可能であれば、私は.... "エレガントな"ソリューションを探しています。 Q1に関して事前
で
おかげで、
@James_Khouryおかげさまで、コードで時間を費やした後、私はこれをdjango.contrib.auth(django-registrationではなく)でチェックする必要があります。あなたが私に指摘しているコード行は、私がすでに観察していることを説明するコメントに過ぎません。また、どのようにその特殊なエラーメッセージを達成するための任意のアイデアですか?ありがとう。 –
@ w--私の謝罪。私の答えを更新しました。 –
@ w--ちょうど助けてくれるドキュメントの情報を見つけました。 –