我有一个使用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状态响应)来查看授权是否被授予。我该怎么做呢?
答案 0 :(得分:1)
发现问题。我只需要添加session.modified = True
。这么简单。