2014-10-27 69 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' 
相關問題