ログアウト後にリダイレクトするURLをどこに設定できるのか疑問に思っています。ログインURLを設定できると思います。ホームページにリダイレクトしたい。
回答:
Modern Django(2017+?)には、と呼ばれる設定がありますLOGOUT_REDIRECT_URL
。
何も上書きしたり折り返したりする必要はありません。
ドキュメントによると、next_page
ログアウトビューに引数を指定するだけです。
https://docs.djangoproject.com/en/dev/topics/auth/default/#django.contrib.auth.views.logout
(r'^logout/$', 'django.contrib.auth.views.logout',
{'next_page': '/successfully_logged_out/'})
1つの簡単な方法:
ログアウトリクエストのURLに「next」パラメータを追加します。例えば:
<a href="{% url 'auth_logout' %}?next=/path_to_the_page"> Logout</a>
次に、ログアウトビューがあなたのためにトリックを行います。
ログイン後リダイレクトの場合は、settings.pyで設定するだけです。
LOGIN_REDIRECT_URL = '/path_to_the_page'
LOGIN_URL = '/path_to_the_page'
base.html
それを忘れます。:D(Debian Jessie:SでビンテージのDjangoを使用しているため、新しい設定は利用できません。)
settings.pyファイルのLOGOUT_REDIRECT_URLを使用して、ユーザーをどこにでもリダイレクトできます。
LOGOUT_REDIRECT_URL = 'url name to redirect'
現在のページにリダイレクト
<a href="{% url 'logout' %}?next={{ request.path | urlencode }}">{% trans "Logout" %}</a>
Django1.9でテスト済み。
ログアウトビューで、ユーザーを完全にログアウトした後、HttpResponseRedirect(url)を返します。詳細については、こちらをご覧ください。
これをプロジェクトsetting.pyファイルに追加します
LOGOUT_REDIRECT_URL = '/'
あなたは間にあなたのURLを書くことができます ''私はログアウトのデフォルトリダイレクトのために私のインデックスページを使用します