我有一个使用 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。如此简单。
