django:重定向问题注销功能

时间:2016-07-13 11:21:52

标签: python django authentication redirect logout

我想在for

之后将用户重定向到特定网站example.com

我在应用的logout

中添加了以下代码
urls.py

但我收到错误urlpatterns = [ url(r'^logout', 'django.contrib.auth.views.logout', {'next_page': 'https://www.example.com/'}), ]

我在注销后找到了重定向到任何视图的解决方案,但是如何重定向到另一个网站?

django.core.urlresolvers.NoReverseMatch: Reverse for 'logout' with arguments '()' and keyword arguments '{}' not found. 0 pattern(s) tried: []

根据建议,此处添加了新代码以从自定义视图重定向另一个网站..

views.py

django version 1.9

urls.py

#call for logout
return HttpResponseRedirect('/myapp/logout')

views.py

url(r'^logout', views.custom_logout, name='logout'),

我收到错误def custom_logout(request): request.session.flush() redirect('https://www.example.com/')

1 个答案:

答案 0 :(得分:0)

您应该在网址模式中添加name

urlpatterns = [    
    url(r'^logout', 'django.contrib.auth.views.logout', name='logout'),
] 

另外,不推荐使用字符串'django.contrib.auth.views.logout'。您应该导入视图。例如,你可以这样做:

from django.contrib.auth import views as auth_views

urlpatterns = [    
    url(r'^logout', auth_views.logout, name='logout'),
]