当我尝试在/cms/
访问我的w back后台时,我被重定向到wagtail的登录页面/cms/login/
。
但是,我想使用我自己的自定义登录信息,这是网站其余部分的默认设置,位于/auth/
。
我的LOGIN_URL
已在django设置中设为/auth/
。
编辑:有人建议这是 how do you override namespaced url patterns 的一般性问题,但事实并非如此。网址没有命名空间,我正在寻找解决这个特定问题的wagtail功能。幸运的是,该功能确实存在。
答案 0 :(得分:2)
Wagtail设置WAGTAIL_FRONTEND_LOGIN_URL
允许您配置用户登录Wagtail管理员的方式。
来自http://docs.wagtail.io/en/v1.10.1/advanced_topics/privacy.html#setting-up-a-login-page:
如果股票Django登录视图不合适 - 例如,您希望使用外部认证系统,或者您正在将Wagtail集成到已经具有工作登录视图的现有Django站点中 - 您可以指定通过
登录视图WAGTAIL_FRONTEND_LOGIN_URL
设置
答案 1 :(得分:2)
上面建议的WAGTAIL_FRONTEND_LOGIN_URL专门针对前端用户,并且没有针对管理员用户的等效设置。你可以这样使用redirect_to_login
:
from django.contrib.auth.views import redirect_to_login
from django.urls import reverse
from wagtail.admin import urls as wagtailadmin_urls
def redirect_to_my_auth(request):
return redirect_to_login(reverse('wagtailadmin_home'), login_url='myauth:login')
urlpatterns = [
url(r'^cms/login', redirect_to_my_auth, name='wagtailadmin_login'),
url(r'^cms/', include(wagtailadmin_urls)),
]