会话被 django-all auth 重置

发布于 2024-12-25 11:17:24 字数 670 浏览 2 评论 0原文

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

view1

  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 视图,没有明确的语句清除会话变量。

I am using django all auth for login on my website. I want to pass some session variables from one view to the other, but when I go to login page through allauth, my session variable is somehow being reset. Is the session being destroyed when I go to the login page?
If yes, how can I pass my variables from one view to the other?

view1

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

view2 (in login view )

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

I also check this session variable on other pages of my site and it is being passed correctly. But is being reset when i got to my login page. Why?

I have checked the login view and there is no explicit statement that clears the session variable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

云醉月微眠 2025-01-01 11:17:24

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

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

Because you define del in your login view. del clears the session variable.

session_url = resquest.session.get('redirect-url' , None)
if session_url:
    success_url = session_url
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文