我的Flask+Peewee应用程序遇到了一个非常奇怪的问题。你知道吗
我有一个webapp,可以将数据插入MySQL数据库。你知道吗
我的Flask应用程序也通过peewee连接到那个数据库。你知道吗
问题是,当我用webapp插入一些东西时,如果我对Flask app中的数据库进行选择,它将返回Flask app开始时可用的数据。要使用相同的Select获取新数据,我需要重新启动Flask服务器服务以获取新数据。你知道吗
有人知道发生了什么吗?你知道吗
更新
我发现了问题。它与皮维没有直接关系,但与烧瓶有关。你知道吗
我有这样的想法:
def some_method(id, user_id, date_from = datetime.now(), limit = 50):
当我这样做的时候,来自的日期被设置为编译的日期时间。之后,所有使用它的请求总是使用该日期和时间。你知道吗
更改为:
def some_method(id, user_id, date_from = None, limit = 50):
if (date_from is None):
date_from = datetime.now()
它开始工作了。你知道吗
我把这个分享给其他像我这样可能有同样问题的人。你知道吗
这是web应用程序的预期行为。HTTP是一种无状态协议,这意味着您的Web应用程序的前端无法知道后端的状态是否已更改,除非它发出新的请求。因此,只有在重新启动Flask应用程序后,您的后端更改才可见。根据您的代码,您可能还可以通过刷新浏览器来查看更改。你知道吗
如果您想在不重新启动/刷新的情况下立即看到更改,请学习如何使用Javascript查询更改并更新前端DOM。您可以从学习jquery或React/Vue/Angular这样的现代框架开始。你知道吗
相关问题 更多 >
编程相关推荐