会话被 django-all auth 重置

Posted

技术标签:

【中文标题】会话被 django-all auth 重置【英文标题】:Session being reset by django-all auth 【发布时间】:2012-02-05 11:59:12 【问题描述】:

我正在使用django all auth 登录我的网站。我想将一些会话变量从一个视图传递到另一个视图,但是当我通过 allauth 进入登录页面时,我的会话变量以某种方式被重置。当我进入登录页面时会话是否被破坏? 如果是,我如何将变量从一个视图传递到另一个视图?

视图1

  request.session['redirect-url'] = request.get_full_path()
  path = request.session['redirect-url']

view2(在登录视图中)

 session_url = request.session.get('redirect-url' , None)
 if session_url:
     success_url = session_url
     del request.session['redirect-url']
 

我还在我网站的其他页面上检查了这个会话变量,它被正确传递了。但是当我进入我的登录页面时正在重置。为什么?

我检查了login 视图,没有明确的语句清除会话变量。

【问题讨论】:

【参考方案1】:

因为您在登录视图中定义了deldel 清除会话变量。

session_url = resquest.session.get('redirect-url' , None)
if session_url:
    success_url = session_url

【讨论】:

以上是关于会话被 django-all auth 重置的主要内容,如果未能解决你的问题,请参考以下文章

会话超时是不是在每个请求上重置

如何在Linux中限制SSH远程会话及会话时间超时

我想使用 Next-Auth 实现会话管理系统

SQLAlchemy 是不是从同一连接重置 SQLAlchemy 会话之间的数据库会话?

Django 会话变量重置

Rails 登录重置会话