python - 注销在 Django 中不起作用

标签 python django logout

我尝试从模板调用注销 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/

相关文章:

python - 根据阈值减少列表中元组的数量

python - 如何使用 conda 选择要下载的特定版本的包?

android - 当应用程序处于后台时运行注销方法

iphone - iOS,Facebook注销并清除用户 token

grails - 我如何使用 grails 应用程序中安装的 spring security 从我自己创建的 gsp View 注销?

python - 在单元格中的第一个字母之后拆分 Pandas 数据框列(一分为二)

python - 将数据帧的行非 NA 值 "element-wise"与列表相乘

mysql - Django:如何处理模型子类化和 IntegrityErros?

python - django imagefield上传总是提示没有选择文件

python - Django项目结构,