4

我在我的网站上使用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视图,没有明确的语句清除会话变量。

4

1 回答 1

0

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

session_url = resquest.session.get('redirect-url' , None)
if session_url:
    success_url = session_url
于 2013-03-18T07:47:55.687 回答