我的 Flask 应用程序遇到问题,当我插入新数据时,它不会更新从数据库获取的数据。该应用程序仅获取我启动应用程序时获取的旧数据。无论我插入多少新数据,获取的数据都不会更新,直到我使用 ctrl+c 停止 Flask 应用程序并使用 Flask run 再次运行它来重新启动它。 我尝试像这样禁用缓存:
cache = Cache(app, config={'CACHE_TYPE': 'null'})
然而,这并没有成功。我还检查了用户类、查询和函数,一切似乎都运行良好并显示结果。另外,我正在使用这样的提交:
cursor.execute(query, data)
self.conn.commit()
**这是我的配置: **
async_mode = None
app = Flask(__name__)
class MyApp:
def __init__(self):
self.app = app
self.app.add_url_rule('/', 'home', self.home,
methods=["GET", "POST"])
self.app.config['DEBUG'] = True
# Secure session configuration
self.app.config['SESSION_TYPE'] = 'filesystem'
self.app.config['SESSION_FILE_DIR'] = '/tmp/flask_session'
# Whether the session cookie should be secure (i.e., HTTPS only)
self.app.config['SESSION_COOKIE_SECURE'] = True
# Prevents JavaScript from accessing the session cookie
self.app.config['SESSION_COOKIE_HTTPONLY'] = True
self.app.config['SESSION_PERMANENT'] = False
self.app.config['SESSION_COOKIE_SAMESITE'] = 'Strict'
self.app.config['SECURITY_PASSWORD_SALT'] = 'password_salt'
# 'development', 'production', or 'testing'
self.app.config['ENV'] = 'development'
# Disables testing
self.app.config['TESTING'] = False
self.app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0
def run(self):
self.app.run()
有什么方法可以在不重新启动 Flask 应用程序的情况下查看更新吗?任何帮助,将不胜感激。预先感谢!
我尝试像这样禁用缓存:
cache = Cache(app, config={'CACHE_TYPE': 'null'})
然而,这并没有成功。我还检查了用户类、查询和函数,一切似乎都运行良好并显示结果。另外,我正在使用这样的提交:
cursor.execute(query, data)
self.conn.commit()
每次都必须使用任务来获取数据库。 烧瓶中没有任何事件(据我所知)每次在数据库中插入内容时都会发生变化。 (如果这是问题,如果不是,你能说得更具体一些吗?)
INSERT/UPDATE 使用提交后记录将被更新。
db = pymysql.connect(host = "localhost", user = "username",password=
"password", database="se",port=3306)
db.commit()