我有一个login_require装饰器,需要在电子邮件作为QS时设置会话变量。
decorators.py
def login_required(f):
@wraps(f)
def decorated_function(*args, **kwargs):
if session.get('is_logged', False):
email = request.args.get('email', False)
if not email:
session['my_var'] = 'Hello'
return redirect(url_for('login'))
return f(*args, **kwargs)
return decorated_function
views.py
@route('/')
@login_required
def home():
print session.get('my_var')
我可以登录并为my_var
视图设置会话变量login()
,但当我到home()
时var变为None
所以我猜装饰函数正在删除它,但我肯定知道它是在装饰器重定向到的login()视图中设置的。
我该怎么办?