私はdjango-registrationを使用していますが、これはどういうわけか正常に機能しなくなりました。私はこれについて完全に迷っており、どこからエラーを探し始めればよいかわかりません。
つまり、ユーザーがアクティベーション リンクをクリックするたびに、activation.html テンプレートが取得されます。エラーが発生した場合にのみ表示されます。
しかし、実際にはエラーはありません。ユーザーがアクティブになり、ログインできるようになります。
これについてのご意見は大歓迎です。
私はdjango-registrationを使用していますが、これはどういうわけか正常に機能しなくなりました。私はこれについて完全に迷っており、どこからエラーを探し始めればよいかわかりません。
つまり、ユーザーがアクティベーション リンクをクリックするたびに、activation.html テンプレートが取得されます。エラーが発生した場合にのみ表示されます。
しかし、実際にはエラーはありません。ユーザーがアクティブになり、ログインできるようになります。
これについてのご意見は大歓迎です。
0.7 と 0.8 の間には大きな違いがあります。
0.7 で:
registration/activate.htmlは、ユーザーが自分のアカウントを有効にしようとすると表示されます。
0.8で
登録/activate.html
アカウントの有効化に失敗した場合に使用されます。
まず、投稿の件名と実際の説明が矛盾しています。件名には、django-registration は常にユーザーのアクティブ化に失敗すると書かれていますが、説明では、ユーザーがアクティブ化されてログインできると言っています。どちらですか?
次に、アクティベーション リンクをクリックすると、ユーザーは常に activate.html に移動する必要があります。そのページで変数が呼び出さaccount
れます。アクティブ化が成功した場合はaccount
、User オブジェクトが取り込まれます。それ以外の場合は False になります。
デバッグ registration.views.activate が示した:success_url
が設定されていない場合、backend.post_activation_redirect
メソッドが呼び出されます。デフォルトのバックエンドを使用している場合、テンプレートでクエリされるアカウント変数なしで空のコンテキストが返されます。解決策は、デフォルトのバックエンドを上書きすることです。唯一の問題は、リダイレクトを介してビューにオブジェクトを渡すことができないことです。したがって、アカウントをテンプレート コンテキストに渡すことはできません。必要に応じて get params で実行できます。アクティベーション テンプレートを変更して、条件を削除することにしました。