请教大佬们一个关于 flask 的缓存问题?

71 天前
 turtlekey

问题复现

我有一个视图函数,它理应在后台获取当日的数据(每天的数据不一样),然后渲染到前端,但访问得到的数据却是上一次访问得到的数据(即它不会自动更新视图),如果我提前在视图渲染函数前 return 一个任意字符串,刷新请求,然后恢复代码,它又成功地更新视图了。

我的猜测

代码逻辑应该没有问题,问题大概率是关于缓存的,不知 flask 是否有自动缓存机制,请大佬解惑。先行感谢🙏。

1020 次点击
所在节点    Flask
8 条回复
nagisaushio
71 天前
可以在浏览器看一下请求头?
rationa1cuzz
71 天前
印象中倒是没有,浏览器倒是有缓存,看一下后台日志确认后端是否收到请求,排除前端的问题再从后端打印几个 log 就知道了
22too
71 天前
如果没设置应该是没有的,你这个感觉是其他缓存比如 nginx 的问题。 不确定你是单独一个 python flask 去浏览器直接看了,还是添加了其他的组件。
turtlekey
71 天前
@nagisaushio get 请求,而且视图函数没有参数,因为有一个函数封装了每日数据获取,视图函数中调用它即可。
turtlekey
71 天前
@rationa1cuzz 浏览器 Hard Reload 之后依然无法获得最新数据,前端肯定没问题。刚刚在视图函数中添加一个 print 语句,然后再请求,数据更新了,真是奇怪,似乎只要在视图函数中随便加一条语句,就能更新视图。是否是 flask 热更新问题?
turtlekey
71 天前
@22too 没有其他组件,单纯 flask ,而且没有使用 nginx ,使用的是 flask 自带的服务器。
summerwar
71 天前
先放上你写的那部分代码,去掉敏感的,然后才能看出来有没有问题
Bt4Girls
70 天前
盲猜一下,会不会本身代码里面查询有时区问题?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1018932

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX