要解决按钮点击后变量不持久化的问题,可以使用以下方法:
from flask import Flask, request, session
app = Flask(__name__)
app.secret_key = 'your-secret-key'
@app.route('/')
def index():
# 获取存储在 session 中的变量
my_variable = session.get('my_variable', None)
return f'My Variable: {my_variable}'
@app.route('/button_click')
def button_click():
# 设置存储在 session 中的变量
session['my_variable'] = 'Button Clicked'
return 'Button Clicked'
if __name__ == '__main__':
app.run()
在上面的示例中,通过设置 app.secret_key
来启用 Flask 的 Session 功能,并使用 session
对象来存储和获取变量。当按钮被点击时,将变量存储在 session 中,以便在其他请求中持久化使用。
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'your-database-uri'
db = SQLAlchemy(app)
class MyVariable(db.Model):
id = db.Column(db.Integer, primary_key=True)
value = db.Column(db.String(100))
@app.route('/')
def index():
# 获取存储在数据库中的变量
my_variable = MyVariable.query.first()
return f'My Variable: {my_variable.value if my_variable else None}'
@app.route('/button_click')
def button_click():
# 设置存储在数据库中的变量
my_variable = MyVariable.query.first()
if my_variable:
my_variable.value = 'Button Clicked'
else:
my_variable = MyVariable(value='Button Clicked')
db.session.add(my_variable)
db.session.commit()
return 'Button Clicked'
if __name__ == '__main__':
app.run()
在上面的示例中,通过使用 Flask SQLAlchemy 扩展和数据库来存储变量。创建一个名为 MyVariable
的数据库模型,并通过查询和修改该模型来存储和获取变量。当按钮被点击时,将变量存储在数据库中,以便在其他请求中持久化使用。
这些示例提供了解决按钮点击后变量不持久化的两种常见方法。您可以根据自己的需求和技术栈选择适合您的解决方案。
上一篇:按钮点击后5秒显示div
下一篇:按钮点击后变量的值没有更新