我尝试从模板调用注销 url,然后重定向到主页。
配置文件.html:
<li><a data-hover="Logout" href="{% url 'signout' %}">Logout</a></li>
urls.py:
urlpatterns = [
url(r'^$', views.login, name='login'),
url(r'^ajax/validate_username/$', views.validate_username, name='validate_username'),
url(r'^signout$', views.signout, name='signout'),
]
views.py:
def signout(request):
if request.user.is_authenticated():
logout(request)
return HttpResponsePermanentRedirect('/')
else:
return HttpResponsePermanentRedirect('/')
有时在单击注销菜单时注销功能不起作用(注销功能正在调用)。
最佳答案
您可能应该使用 HttpResponseRedirect
而不是 HttpResponsePermanentRedirect
。因为如果您打算始终运行 signout
,永久重定向可能会使用您不需要的缓存。
你也可以这样退出:
from django.contrib.auth import views as auth_views
urlpatterns = [
...
url(r'^signout/$', auth_views.logout, {'next_page': 'home'}, name='signout'),
...
]
关于python - 注销在 Django 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40970261/