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

alv*_*003 1 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:点击退出按钮 - >登录页面.

我在网上看了很多东西,但它仍然无效.

请帮忙

alv*_*003 8

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


pyt*_*had 0

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

# 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)
Run Code Online (Sandbox Code Playgroud)