网站内容更新不及时(本篇内容里小编给大家整理的是关于,需要的朋友们)
优采云 发布时间: 2021-10-11 08:18网站内容更新不及时(本篇内容里小编给大家整理的是关于,需要的朋友们)
本文小编就为大家整理一下如何解决flask修改静态资源后无法及时更改缓存文件的问题。有需要的朋友可以学习一下。
运行文件
from flask import url_for @app.context_processor # 上下文渲染器,给所有html添加渲染参数 def inject_url(): data = { "url_for": dated_url_for, } return data def dated_url_for(endpoint, **values): filename = None if endpoint == 'static': filename = values.get('filename', None) if filename: file_path = os.path.join(app.root_path, endpoint, filename) values['v'] = int(os.stat(file_path).st_mtime) # 取文件最后修改时间的时间戳,文件不更新,则可用缓存 return url_for(endpoint, **values)
html文件
这里重写了url_for方法,在最后加上?v=xxx,其中xxx为文件最后修改时间的时间戳。文件修改后,参数v发生变化,浏览器去服务器请求一个新的静态资源文件。
内容扩展:
烧瓶踩到的坑
希望大家多多交流遇到的问题,少走弯路。
1.路由器无法统一管理。我使用django模式配置urls文件中的所有路由
2.路由器无法统一加载,找不到spring包扫描之类的工具
3.TemplateNotFound 未找到静态资源
4.debug模式静态资源修改不生效,需要重启服务器
if name == ‘main‘: #静态资源修改不需要重启 app.jinja_env.auto_reload = True app.run(debug=True)
5.模板引用静态资源url_for
以上就是flask修改静态资源后无法及时更改缓存文件问题的解决方法的详细内容。更多详情请关注其他相关html中文网站文章!