Flask缓存静态文件的具体方法


Posted in Python onAugust 02, 2020

大家好,今天才发现很多学习Flask的小伙伴都有这么一个问题,清理缓存好麻烦啊,今天就教大家怎么解决。

大家在使用Flask静态文件的时候,每次更新,发现CSS或是Js或者其他的文件不会更新。

这是因为浏览器的缓存问题。

普遍大家是这几步解决办法。

·清理浏览器缓存;

·设置浏览器不缓存;

·也有以下这么写的:

@app.context_processor
def override_url_for():
    return dict(url_for=dated_url_for)
def dated_url_for(endpoint, **values):
    if endpoint == 'static':
        filename = values.get('filename', None)
    if filename:
        file_path = os.path.join(app.root_path, endpoint, filename)
        values['q'] = int(os.stat(file_path).st_mtime)
        return url_for(endpoint, **values)

如果是我,我不会这么做,效率很低。

Flask缓存静态文件的具体方法

这是  Flask的 config 的源码,里面可以看到,有设置缓存最大时间

SEND_FILE_MAX_AGE_DEFAULT 可以看到,它是一个 temedelta 的值

我们去更改配置。

Flask缓存静态文件的具体方法

第2行: 我们引入了datetime的timedelta对象

第6行: 我们配置缓存最大时间

这样就解决了缓存问题,不用去写多余的代码,不用去清理浏览器的缓存。

内容扩展:

flask修改静态资源后缓存文件不能及时更改问题解决

加上一句话。下图圈起来的,表示只缓存一秒,相当于不缓存了。

Flask缓存静态文件的具体方法

以上就是Flask缓存静态文件的具体方法的详细内容,更多关于Flask如何缓存静态文件的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Linux下使用python调用top命令获得CPU利用率
Mar 10 Python
使用py2exe在Windows下将Python程序转为exe文件
Mar 04 Python
Python的消息队列包SnakeMQ使用初探
Jun 29 Python
创建pycharm的自定义python模板方法
May 23 Python
对numpy中数组转置的求解以及向量内积计算方法
Oct 31 Python
在Python中实现shuffle给列表洗牌
Nov 08 Python
Flask框架web开发之零基础入门
Dec 10 Python
Python图像处理之图像的缩放、旋转与翻转实现方法示例
Jan 04 Python
解决Pycharm界面的子窗口不见了的问题
Jan 17 Python
python爬取酷狗音乐排行榜
Feb 20 Python
更新修改后的Python模块方法
Mar 03 Python
Python判断三段线能否构成三角形的代码
Apr 12 Python
Flask中sqlalchemy模块的实例用法
Aug 02 #Python
python线程里哪种模块比较适合
Aug 02 #Python
python缩进长度是否统一
Aug 02 #Python
Python接收手机短信的代码整理
Aug 02 #Python
Python改变对象的字符串显示的方法
Aug 01 #Python
Python 如何定义匿名或内联函数
Aug 01 #Python
Python sqlalchemy时间戳及密码管理实现代码详解
Aug 01 #Python
You might like
PHP二维数组排序简单实现方法
2016/02/14 PHP
php上传excel表格并获取数据
2017/04/27 PHP
PHP 7.4中使用预加载的方法详解
2019/07/08 PHP
PHP执行普通shell命令流程解析
2020/08/24 PHP
禁止刷新,回退的JS
2006/11/25 Javascript
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
jQuery的slideToggle方法实例
2013/05/07 Javascript
js函数获取html中className所在的内容并去除标签
2013/09/08 Javascript
js实现数组去重、判断数组以及对象中的内容是否相同
2013/11/29 Javascript
利用jQuary实现文字浮动提示效果示例代码
2013/12/26 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
2014/06/24 Javascript
jQuery实现判断滚动条到底部
2015/06/23 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
微信小程序 navigation API实例详解
2016/10/02 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
Angular实现搜索框及价格上下限功能
2018/01/19 Javascript
vue使用监听实现全选反选功能
2018/07/06 Javascript
Vue动态加载异步组件的方法
2018/11/21 Javascript
详解vue几种主动刷新的方法总结
2019/02/19 Javascript
pandas实现将dataframe满足某一条件的值选出
2019/06/12 Python
如何将你的应用迁移到Python3的三个步骤
2019/12/22 Python
Python实现队列的方法示例小结【数组,链表】
2020/02/22 Python
python 函数嵌套及多函数共同运行知识点讲解
2020/03/03 Python
HTML5中Localstorage的使用教程
2015/07/09 HTML / CSS
全球酒店预订网站:Hotels.com
2016/08/10 全球购物
英国鞋类及配饰零售商:Kurt Geiger
2017/02/04 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
社区精神文明建设汇报材料
2014/08/17 职场文书
初中毕业典礼演讲稿
2014/09/09 职场文书
勿忘国耻9.18演讲稿(经典篇)
2014/09/14 职场文书
优秀共青团员事迹材料
2014/12/25 职场文书
新闻稿怎么写
2015/07/18 职场文书
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电