【问题标题】:Django logout problemDjango注销问题
【发布时间】:2011-01-05 17:00:06
【问题描述】:

这是我在使用 Django 身份验证时遇到的问题

  1. 访问需要登录的页面。
  2. 注销(访问 django.contrib.auth.logout)
  3. 访问原始登录保护页面。您仍处于登录状态

有什么办法解决这个问题吗?

我的 Django 会话设置是

SESSION_EXPIRE_AT_BROWSER_CLOSE = 真 SESSION_COOKIE_AGE = 3600

谢谢, 苏吉特

【问题讨论】:

  • 当你说 '3.访问原始...”您的意思是“使用后退箭头键并查看缓存的页面图像”还是您的意思是“单击了指向受保护页面的链接并且它在不应该出现的情况下工作”?
  • 两种情况...当单击返回按钮并输入受保护的页面网址时。
  • 我添加了一个新问题,看起来很像你的问题。还解决了!见stackoverflow.com/questions/14021913/django-logout-not-working

标签: django authentication


【解决方案1】:

基本上,this should work:

from django.contrib.auth import logout

def logout_view(request):
    logout(request)
    # Redirect to a success page.

如果不是这样,您能否发表您的观点来澄清一下?

【讨论】:

  • 感谢您的回复。我有注销机制的确切代码。但它仍然没有注销
【解决方案2】:

在 Django 1.4.* 中,logout() 函数出现问题。它根本没有注销我的用户。

现在我只是使用贡献的视图来注销用户,它工作得很好。如果您不想做任何其他特别的事情,只需将其添加到您的根 urls.py 文件中:

(r'^logout/$', 'django.contrib.auth.views.logout', {'next_page': '/login'}),

你会很高兴的。

快乐的 Djangoing。

【讨论】:

    【解决方案3】:

    观看次数

    从 django.contrib.auth 导入注销

    定义注销用户(请求):

    """
        logout the user
    """   
    
    logout(request)
    return HttpResponseRedirect('/qioness/connect/')
    

    网址:

    url(r'^userlogout/$',logout_user),
    

    工作了 4 个我

    【讨论】:

      【解决方案4】:

      这对我有用。我被这个问题困住了。在youtube上找到以下解决方案。

      不过,我的解决方案稍作修改。

      在views.py中

      from django.contrib.auth import authenticate, login, logout
      from django.shortcuts import redirect
      
      def auth_logout(request):
        logout(request)
        return redirect('home')
      

      在 urls.py 中

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

      【讨论】:

        【解决方案5】:

        更改会话在接近 False 时过期,如果为 true,则在您关闭浏览器之前不会将您注销

        【讨论】:

          猜你喜欢
          • 2018-05-22
          • 1970-01-01
          • 1970-01-01
          • 2023-03-29
          • 1970-01-01
          • 2012-02-01
          • 1970-01-01
          • 2023-03-24
          • 1970-01-01
          相关资源
          最近更新 更多