@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返回一个Response对象,因此请先捕获它,然后再从 View 中返回并添加cookie,然后再添加Response.set_cookie

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

您可能只想将值添加到 session cookie中。 Flask的session将对值进行json编码并签署cookie以确保安全性,这是您在使用set_cookie时必须手动执行的操作。
from flask import session

session['my_key'] = 'my_value'

10-06 06:30