为什么我无法注销django用户auth?

| 我正在使用django.contrib.auth用户管理系统。 因此,我将注册/插入到用户表/模型中,并将登录从django.contrib.auth.views.login向上登录,以便可以登录。 但是,我无法使用django.contrib.auth.views.logout登出 我的模板中有
<h1>My Account</h1>
<strong> Welcome, {{ name|capfirst }}!</strong>
<br /><br />
<ul>
    <li>
        {% if user.is_authenticated %}
            <a href=\"{% url django.contrib.auth.views.logout %}\">Logout</a>
        {% else %}
            <a href=\"{% url register %}\">Sign Up</a>
    </li>
    <li>
            <a href=\"{% url django.contrib.auth.views.login %}\">Login</a>
        {% endif %}
    </li>
</ul>
但是,我总是得到名称和注销链接,因为当我单击注销按钮时,我从未真正注销过 这是我的urls.py部分:
urlpatterns += patterns(\'django.contrib.auth.views\',
    url(r\'^login/$\', \'login\', { \'template_name\': \'registration/login.html\', \'SSL\': settings.ENABLE_SSL }, \'login\' ),
    url(r\'^my_account/$\', \'logout\', { \'template_name\': \'registration/my_account.html\', \'SSL\': settings.ENABLE_SSL }, \'logout\' ),
)
我究竟做错了什么? 注意:我也通过apache2和mod_wsgi运行django 谢谢! 添加的信息: 不知道这是否有帮助,但是我在html中打印了request.session.items并得到了
[(\'_auth_user_backend\', \'django.contrib.auth.backends.ModelBackend\'), (\'_auth_user_id\', 9L)] 
登录时以及单击“注销”按钮后(django.contrib.auth.views.logout) 另外,我创建了:
from django.contrib.auth import logout
def logout_view(request):
    request.session.items = []
    request.session.modified = True
    logout(request)
并将其链接到第二个注销链接/按钮,但我没有注销,并且单击链接后,request.session.items保持与上面相同 我想我即将结束: 在我的一种查看功能中,我做了以下事情:
request.session[\"fav_color\"] = \"blue\"
request.session.modified = True
然后以html {{request.session.items}}打印,这给了我
    [(\'_auth_user_backend\', \'django.contrib.auth.backends.ModelBackend\'), (\'_auth_user_id\', 9L)] 
也没有(\'fav_color \',\'blue \')元组。我是否再次做错了,还是证明我的request.session列表没有被修改? K弄清楚了:
url(r\'^my_account/$\', \'logout\', { \'template_name\': \'registration/my_account.html\', \'SSL\': settings.ENABLE_SSL }, \'logout\' ),
应该
url(r\'^logout/$\', \'logout\', { \'template_name\': \'registration/my_account.html\', \'SSL\': settings.ENABLE_SSL }, \'logout\' ),
    
已邀请:
        您需要具有注销视图,该URL指向该视图。模板上没有任何内容,仅在该注销视图中具有django.contrib.auth.logout()。在新的django服务器上,您可以轻松注销,但是您需要在视图而不是模板中执行此操作。这是django书的摘录: 此示例说明如何在视图函数中同时使用authenticate()和login():
from django.contrib import auth

def login_view(request):
  username = request.POST.get(\'username\', \'\')
  password = request.POST.get(\'password\', \'\')
  user = auth.authenticate(username=username, password=password)
  if user is not None and user.is_active:
      # Correct password, and the user is marked \"active\"
      auth.login(request, user)
      # Redirect to a success page.
      return HttpResponseRedirect(\"/account/loggedin/\")
  else:
      # Show an error page
      return HttpResponseRedirect(\"/account/invalid/\")
要注销用户,请在视图中使用django.contrib.auth.logout()。它带有HttpRequest对象,没有返回值:
from django.contrib import auth

def logout_view(request):
  auth.logout(request)
  # Redirect to a success page.
  return HttpResponseRedirect(\"/account/loggedout/\")
有关所有内容,请参阅Django书,网址为http://www.djangobook.com/en/2.0/chapter14/,我从这本书中学到了所有知识。     
        我遇到了这个问题,这是一个愚蠢的头痛。这就是我强制注销的方式。我保留“ 10”以(希望)触发用户注销信号。:
def logout_view(request):

    logout(request)
    request.session.flush()
    request.user = AnonymousUser

    return HttpResponseRedirect(\'accounts/loggedout/\') 
    
        您不必为此编写视图,只需执行以下操作:
(r\'^accounts/logout/$\', \'django.contrib.auth.views.logout\',{\'next_page\': \'/accounts/login\'})
更多信息:https://docs.djangoproject.com/en/dev/topics/auth/default/#django.contrib.auth.views.logout     
        我认为urls.py可能是这样的(登录和注销视图不接受SSL参数):
from django.core.urlresolvers import reverse
urlpatterns += patterns(\'django.contrib.auth.views\',
        url(r\'^login/$\', \'login\', { \'template_name\': \'registration/login.html\'}, name=\'login\' ),
        url(r\'^logout/$\', \'logout\', { \'template_name\': \'registration/my_account.html\', \'next_page\':reverse(\'index\') }, name=\'logout\' ),
)
并在模板中:
<h1>My Account</h1>
<strong> Welcome, {{ name|capfirst }}!</strong>
<br /><br />
<ul>
    <li>
        {% if user.is_authenticated %}
            <a href=\"{% url logout %}\">Logout</a>
        {% else %}
            <a href=\"{% url register %}\">Sign Up</a>
    </li>
    <li>
            <a href=\"{% url login %}\">Login</a>
        {% endif %}
    </li>
</ul>
    

要回复问题请先登录注册