2014-10-27 70 views
4
@user.route('/login', methods=['POST']) 
def check_oauthuser(): 
    token = request.args.get('token','') 
    open_u_id = request.args.get('openUId','') 
    _self_expires = 60 * 60 * 24 * 30 * 3 

    #re = Response() 
    #re.set_cookie('name','1111111') 

    if token!='' and open_u_id!='': 
     set_user_login_cache(user_id, token) 
     return jsonify(state=0,msg='success') 

我想设置一个cookie到响应头,但我用jsonify而不是创建一个Response。如何在返回jsonify时添加cookie?使用jsonify时可以设置cookie吗?

回答

8

jsonify返回一个Response对象,因此在从视图返回之前将其捕获并添加cookie,然后使用Response.set_cookie

out = jsonify(state=0, msg='success') 
out.set_cookie('my_key', 'my_value') 
return out 

您可能只想将值添加到会话cookie中。 Flask的session将json编码值和签名cookie的安全性,你必须手动使用set_cookie时做的事情。

from flask import session 

session['my_key'] = 'my_value' 
相关问题