Flask会话var在装饰器中擦除

时间:2014-11-24 21:29:57

标签: python session flask

我有一个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()视图中设置的。

我该怎么办?

0 个答案:

没有答案