如何在Django中注销? [英] How to logout in django?

查看:39
本文介绍了如何在Django中注销?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

html代码

{% if request.user %}
    <a href="{% url 'main:logout' %}">
        Выход
    </a>
{% else %}
    <a href="{% url 'main:registration' %}">
        Регистрация
    </a>
{% endif%}    

settings.py

settings.py

LOGIN_REDIRECT_URL = 'main/index'

views.py

def logout(request):
    logout(request)

urls.py

from django.conf.urls import url
from . import views
from django.conf import settings

urlpatterns = [
    url(r'^logout/$', views.logout, {'next_page': settings.LOGOUT_REDIRECT_URL}, name='logout')
]

怎么了?

推荐答案

您正在使用不带有next_page参数的自定义注销视图.您应该将其作为参数添加到视图中,并传递给django注销调用,或仅使用 django.contrib.auth.logout

You are using your custom logout view which doesn't take next_page parameter. You should add it as parameter to your view and pass to django logout call, or just use django.contrib.auth.logout

例如在urls.py中:

e.g. in urls.py:

from django.conf.urls import url
from django.conf import settings
from django.contrib.auth.views import logout

urlpatterns = [
    url(r'^logout/$', logout, {'next_page': settings.LOGOUT_REDIRECT_URL}, name='logout')
]

这篇关于如何在Django中注销?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆