app_nameのあるurlpatternsの場合、redirectはどうやる
app_name を使用してアプリケーションに名前をつけている場合、redirect を使用する際には、app_name と URL パターンの名前を組み合わせて指定することが一般的です。
例えば、tools アプリケーションの signup ページにリダイレクトする場合:
python
# myapp/views.py from django.shortcuts import redirect def some_view(request): # 他の処理... # toolsアプリケーションのsignupページにリダイレクト return redirect('tools:signup')
ここで、'tools:signup' の部分は app_name:URLパターン名 の形式です。これにより、app_name が変更されても正確なURLを指定できます。
リダイレクト先のURLを指定する際に、reverse 関数を使用しても同様の結果が得られます。
python
# myapp/views.py from django.urls import reverse from django.shortcuts import redirect def some_view(request): # 他の処理... # toolsアプリケーションのsignupページにリダイレクト return redirect(reverse('tools:signup'))
どちらの方法でも、tools アプリケーション内の urls.py で app_name='tools' が設定されており、かつ name='signup' という名前が urlpatterns 内で指定されている必要があります。

ディスカッション
コメント一覧
まだ、コメントがありません