2

我有一个使用 ajax 请求的 Flask 应用程序,这个请求应该给出一个真/假响应。用户输入授权码,如果授权码与所需的匹配或已经在会话中,则响应应该为真,并且将代码添加到会话并保存。如果不是,则只需返回 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(),但我不想要视图,而是想要一个简单的真/假(可能是 HTTP 状态响应)来查看是否授予了授权。我该怎么做呢?

4

1 回答 1

1

发现了问题。我只需添加session.modified = True. 很简单。

于 2013-05-18T02:17:46.297 回答