Skip to main content
 首页 » 编程设计

python之Flask:手动保存 session 数据

2025年05月04日9bluestorm

我有一个使用 ajax 请求的 Flask 应用程序,这个请求应该给出真/假响应。用户输入授权码,如果授权码与需要的内容匹配或 session 中已经存在,则响应应为真,并将代码添加到 session 并保存。如果不是,则简单地返回 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' 

但是, session 并没有像我希望的那样保存。这是我的第一个 Python 应用程序,所以我边学边学。据我了解,我需要使用 Flask 创建一个响应,而不仅仅是简单地输出“true”或“false”——创建一个响应保存 session ,因为它不保存修改。我使用的唯一响应函数是用于 View 的 render_template(),但我不想要一个 View ,而是一个简单的 true/false(可能是 HTTP 状态响应)来查看是否已授予授权。我该怎么做呢?

请您参考如下方法:

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