要保存从取消操作中的更改,并与“返回”一起工作,您可以使用以下代码示例中的解决方案:
from flask import Flask, request, redirect
app = Flask(__name__)
saved_changes = {}
@app.route('/')
def index():
return '''
'''.format(saved_changes.get('data', ''))
@app.route('/save', methods=['POST'])
def save():
data = request.form['data']
saved_changes['data'] = data
return redirect('/')
@app.route('/cancel')
def cancel():
saved_changes.pop('data', None)
return redirect('/')
if __name__ == '__main__':
app.run()
在上面的示例中,我们使用Flask框架创建了一个简单的Web应用程序。当用户访问根路由('/')时,会显示一个表单,其中包含一个文本输入字段,用户可以在其中输入数据,并且有一个“保存”按钮和一个“取消”按钮。表单中的文本输入字段的默认值是已保存的更改,如果没有保存的更改,则为空。
当用户点击“保存”按钮时,会将表单数据提交到/save
路由。在save
函数中,我们将从表单中获取的数据保存到saved_changes
字典中,并通过重定向回到根路由。
当用户点击“取消”链接时,会将用户重定向到/cancel
路由。在cancel
函数中,我们从saved_changes
字典中删除保存的更改,并通过重定向回到根路由。
这样,无论用户是点击“保存”还是“取消”,都会将用户重定向回根路由,并且表单中的默认值将根据saved_changes
字典中的保存更改显示或清除。