Flask:手动保存会话数据

时间:2013-05-18 01:17:19

标签: python session flask

我有一个使用ajax请求的Flask应用程序,此请求应该给出true / false响应。用户输入授权代码,如果授权代码与会话中所需或已经匹配的内容匹配,则响应应为true,并将代码添加到会话并保存。如果不是,那么只需返回false

@app.route('/auth-ajax', methods=['POST'])
def auth(): 
    result_id = request.form.get('result_id', 'true')
    result = load_result(result_id)

    if result:
        auth = result['auth_hash']
        auth_input = request.form.get('auth_input', '')
        if (session.get('auths').get(result_id) != auth and auth_input != auth):
            return 'false'

    #else, save new authorization into session
    session['auths'][result_id] = auth

    # return true
    return 'true'

然而,会议并没有像我希望的那样保存。这是我的第一个Python应用程序,因此我正在学习。根据我的理解,我需要使用Flask创建响应,而不仅仅是输出“true”或“false” - 创建响应保存会话,因为它不会在修改时节省。我使用的唯一响应函数是视图的render_template(),但我不想要一个视图,而是一个简单的true / false(可能是HTTP状态响应)来查看授权是否被授予。我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

发现问题。我只需要添加session.modified = True。这么简单。