Flask会话不会跨请求持久化

2024-04-16 06:13:30 发布

您现在位置:Python中文网/ 问答频道 /正文

当我发出多个请求时,数据不会持久化

我试图以常规方式设置会话值(如flask文档中的会话值),但它也不起作用,session['array']在每次发出新请求时都会被声明

secret_key已就位

这是我的路线:

from flask import session
...
@app.route('/add', methods=['POST'])
@ath.login_required
def add():
    """
    adds an integer(s) to Array used for calculation.

    Parameters:
        integer(s): Integer or list of integers
    """
    param = request.json.get('integer')
    if not param:
        abort(make_response(jsonify("Param is not valid"), 400))

    if 'array' not in session:
        # each time I make a request, program enters this block
        session['array'] = []

    # I want to append more stuff into a session object
    # these 3 next lines are supposed to enable that
    # found it here: https://stackoverflow.com/questions/34630709
    array = session['array']
    array.append(param)
    session['array'] = param

    return jsonify({'success': session['array']}), 200

使用curl发出请求:curl -u token -i -X POST -H "Content-Type: application/json" -d '{"integer": 2}' http://127.0.0.1:6767/add

我做错了什么


Tags: toaddjsonflaskmakeifparamrequest