Skip to main content
 首页 » 编程设计

python之session 刷新不起作用 django

2024年10月25日40zhenyulu

当用户不想保持登录状态时,我试图清除所有 session 数据。

在 views.py 中

def login(request, *args, **kwargs): 
    if request.method == 'POST':         
        if not request.POST.has_key('remember_me'):       
            request.session.flush() 
 
    return auth_views.login(request, *args, **kwargs) 

但是当我尝试访问该站点时,它仍然显示用户为登录用户。这有什么问题吗?

请您参考如下方法:

据我了解,如果用户未选中记住我 - 您需要在用户浏览器关闭时使 session cookie 过期。

这可以通过使用 set_expiry(0) 来实现:

Sets the expiration time for the session. You can pass a number of different values:

  • ...
  • If value is 0, the user’s session cookie will expire when the user’s Web browser is closed.

用法:

request.session.set_expiry(0) 

另见: