有没有办法重定向用户退出 Wagtail 管理员?
Is there a way to redirect a user logging out of the Wagtail admin?
我正在使用 django-allauth 对我的 wagtail 网站上的 Wagtail 管理员进行用户身份验证。用户登录 /accounts/login 而不是通常的 Wagtail /admin/login,然后被重定向到 /admin。效果很好。但是,在注销后,它们会留在 /admin/login。这让用户感到困惑,因为现在有两个登录位置。
如果可能的话,我希望能够将用户重定向到 /admin/login 的 Wagtail 管理员。确实完全没有必要访问它,因为它已被替换。
Django 使用
LOGOUT_REDIRECT_URL
适用于 django-allauth 但不适用于 Wagtail 的配置。鹡鸰有
WAGTAIL_FRONTEND_LOGIN_URL
但是我找不到任何可以注销的东西。
这最终比我想象的要简单得多。我有一个处理身份验证等的 'users' 应用程序。在该应用程序中 views.py 我添加了一个简单的 Django 注销请求并返回了一个重定向:
# users/views.py
from django.contrib import auth
from django.shortcuts import redirect
def logout(request):
auth.logout(request)
return redirect('/accounts/login')
然后在我的主要应用程序中 urls.py 我导入了新的 users.view 并覆盖了 wagtail 注销:
# project_app/urls.py
from users import views
urlpatterns = [
...
url(r'^logout/$', views.logout, name='wagtailadmin_logout'),
...
]
现在用户在注销时永远不会看到默认的 Wagtail 登录页面。
我正在使用 django-allauth 对我的 wagtail 网站上的 Wagtail 管理员进行用户身份验证。用户登录 /accounts/login 而不是通常的 Wagtail /admin/login,然后被重定向到 /admin。效果很好。但是,在注销后,它们会留在 /admin/login。这让用户感到困惑,因为现在有两个登录位置。
如果可能的话,我希望能够将用户重定向到 /admin/login 的 Wagtail 管理员。确实完全没有必要访问它,因为它已被替换。
Django 使用
LOGOUT_REDIRECT_URL
适用于 django-allauth 但不适用于 Wagtail 的配置。鹡鸰有
WAGTAIL_FRONTEND_LOGIN_URL
但是我找不到任何可以注销的东西。
这最终比我想象的要简单得多。我有一个处理身份验证等的 'users' 应用程序。在该应用程序中 views.py 我添加了一个简单的 Django 注销请求并返回了一个重定向:
# users/views.py
from django.contrib import auth
from django.shortcuts import redirect
def logout(request):
auth.logout(request)
return redirect('/accounts/login')
然后在我的主要应用程序中 urls.py 我导入了新的 users.view 并覆盖了 wagtail 注销:
# project_app/urls.py
from users import views
urlpatterns = [
...
url(r'^logout/$', views.logout, name='wagtailadmin_logout'),
...
]
现在用户在注销时永远不会看到默认的 Wagtail 登录页面。