フレンドリーフォワーディング
ユーザーがログイン後、直前に閲覧していたページへリダイレクトさせる機能
広く使われている言葉ではなさそうrmaruon.icon
Google検索 (en) "friendly forwarding" 「About 48,900 results」
Google検索 (ja) フレンドリーフォワーディング 「約 11,300 件 」
シナリオ
未認証状態で、/users/1/edit にアクセス
/login にリダイレクトされ、認証を求められる
認証成功したら、/users/1/edit にリダイレクトされる(←これ)
store_locationヘルパーを作成
直前に閲覧していたページをセッションに保存する
redirect_or_backヘルパーを作成
セッションに保存されたページがあればbackする
それ以外なら指定したページにredirectする
store_locationをログインが要求されるページにおいて、未認証の場合に実行されるようにする
redirect_or_backをログイン後に実行する
Djangoだとデフォルトで遷移先のURLが?next=にセットされる
@login_required()の引数redirect_field_nameでnextをオーバーライドできる(Noneも可)
ref