【问题标题】:Can a cookie be set when using jsonify?使用jsonify时可以设置cookie吗?
【发布时间】:2014-12-22 15:03:01
【问题描述】:
@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?

【问题讨论】:

    标签: python session cookies flask


    【解决方案1】:

    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'
    

    【讨论】:

      猜你喜欢
      • 2014-12-21
      • 1970-01-01
      • 2012-02-03
      • 2012-01-16
      • 2011-03-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多