django-registration がアクティベーションの失敗をどのように処理しているかわかりませんか? たとえば、ユーザーがダミーのアクティベーション キーを使用して、ブラウザの /activation/"key" で URL を呼び出すとします。アクティベーションは失敗しますが、ユーザーをどの URL に誘導すればよいでしょうか? また、ユーザーにエラー メッセージを表示する必要があります。正しい?しかし、アクティブ化をクリックすると、ユーザーには activate.html のみが表示されます。
2 に答える
関数のドキュメント文字列は次のactivate
とおりです。
アクティベーションに失敗すると、テンプレートをレンダリングして
registration/activate.html
エラー メッセージを表示します。これを
オーバーライドするには、引数を渡しますtemplate_name
(以下を参照)。
キャプチャされたデフォルトの URL:
url(r'^activate/(?P<activation_key>\w+)/$',
activate,
{'backend': 'registration.backends.default.DefaultBackend'},
name='registration_activate'),
成功すると、activate
ビューは成功した URL にリダイレクトされるため、activate.html
テンプレートの唯一の目的は失敗した場合です。
更新:指示を見ると、「必要なテンプレート」セクションでこれを明示的に述べています:
登録/activate.html
アカウントの有効化に失敗した場合に使用されます。デフォルトのセットアップでは、次のコンテキストがあります。
activation_key
アクティベーションの試行中に使用されたアクティベーション キー。
django-registration はこれを適切に処理していないと思います。おそらく、アップストリーム コードでバグを報告することをお勧めします。
回避策として、ここにいくつかのテンプレート コードを記述する必要がありました。 https://github.com/arky/pootle/commit/8e7f771499206cb6c636a80bc8156db1ecd722b1