Djangoでリダイレクト先に変数とか渡せないよね

2024年6月23日

login_url パラメータは固定された文字列を受け付けるため、そのままでは動的な変数を渡すことはできません。しかし、動的なリダイレクト先を使いたい場合は、redirect 関数を使って login_required デコレータの代わりに自分でリダイレクトするロジックを追加することができます。

例えば、ビュー内で条件に応じてリダイレクト先を変更する場合は以下のようにします:

python
from django.shortcuts import redirect

def your_protected_view(request):
    if some_condition:
        return redirect('/dynamic-login-url/')
    else:
        # ビューの本来の処理をここに書く
        return render(request, 'protected_view.html')

このようにすることで、ビュー内で動的にリダイレクト先を設定できます。条件に応じて変数や他の動的なデータを使ってリダイレクトする場合に便利です。

未分類

Posted by ぼっち