如何在django / allauth中注销后将用户重定向回登录页面?

时间:2015-11-08 10:45:27

标签: django django-allauth

我使用allauth模块在django上安装了一个非常基本的项目。它运作良好...除了我尝试使用http://localhost:8000/accounts/logout/注销时有404页面。

urls.py

urlpatterns = [ url(r'^accounts/', include('allauth.urls')), url(r'^aboutus/$', TemplateView.as_view(template_name="aboutus.html"), name="aboutus"), url(r'^admin/doc/', include('django.contrib.admindocs.urls')), url(r'^admin/', include(admin.site.urls)),
]

并在settings.py中设置ACCOUNT_LOGOUT_ON_GET= True以避免注销确认。

我的目标是设置路径:登录页面 - > aboutus:点击退出按钮 - >登录页面。

我在互联网上阅读了很多东西,但它仍然无效。

请帮忙

2 个答案:

答案 0 :(得分:7)

设置文件中的解决方案:ACCOUNT_LOGOUT_REDIRECT_URL =“/ accounts / login”

答案 1 :(得分:0)

如果我理解你的话,可以在官方docs中找到你的问题的答案。基本上你只需要编写自己的适配器,它可能看起来像:

# project/settings.py:
ACCOUNT_ADAPTER = 'project.users.adapter.MyAccountAdapter'

# project/users/adapter.py:
from django.conf import settings
from allauth.account.adapter import DefaultAccountAdapter

class MyAccountAdapter(DefaultAccountAdapter):

    def get_login_redirect_url(self, request):
        path = "/accounts/{username}/"
        return path.format(username=request.user.username)