redirect_to
ログイン テンプレートのコンテキストに入ることができれば、リダイレクト URL を変更するために使用できるメカニズムがあります。
ログイン テンプレートで、非表示の入力をフォームに追加します。
<input type="hidden" name="next" value="{% url redirect_to %}">
urls.py ファイルで、リダイレクトに使用する入力を指定できます。
url(r'^login/$',
auth_views.login,
{'template_name': 'registration/login.html',
'redirect_field_name': 'next'},
name='auth_login'),
これを行うと、 の値に応じて別の場所にリダイレクトされますredirect_to
。
redirect_to
複数の名前付きログイン URL を持つことで、コンテキストに入ることができる場合があります。
url(r'^login/$',
auth_views.login,
{'template_name': 'registration/login.html',
'redirect_field_name': 'next',
'extra_context': {'redirect_to': 'foo_url'}
},
name='foo_login'),
url(r'^login/$',
auth_views.login,
{'template_name': 'registration/login.html',
'redirect_field_name': 'next',
'extra_context': {'redirect_to': 'bar_url'}
},
name='bar_login'),
または、そのようなことをしたくない場合は、代わりにセッションで何かを使用できます。
<input type="hidden" name="next" value="{% url session.redirect_to %}">
これがお役に立てば幸いです。コードにタイプミスがある場合はお詫びします。認証ログインビューのドキュメントは、リンクするのが少し難しいです。そのリンクにアクセスして、少し上にスクロールしてください。