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 相关文章推荐
在Python中处理时间之clock()方法的使用
May 22 Python
浅谈Python中列表生成式和生成器的区别
Aug 03 Python
利用Celery实现Django博客PV统计功能详解
May 08 Python
Django模板变量如何传递给外部js调用的方法小结
Jul 24 Python
python+selenium+autoit实现文件上传功能
Aug 23 Python
在Python中使用defaultdict初始化字典以及应用方法
Oct 31 Python
python 堆和优先队列的使用详解
Mar 05 Python
Python学习笔记基本数据结构之序列类型list tuple range用法分析
Jun 08 Python
django框架实现模板中获取request 的各种信息示例
Jul 01 Python
Python 3.8 新功能来一波(大部分人都不知道)
Mar 11 Python
详解Python设计模式之策略模式
Jun 15 Python
Python自动化测试基础必备知识点总结
Feb 07 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下删除字符串中HTML标签的函数
2008/08/27 PHP
PHP的error_reporting错误级别变量对照表
2014/07/08 PHP
PHP中JSON的应用技巧
2015/10/10 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
php图片添加文字水印实现代码
2016/03/15 PHP
PHP抓取及分析网页的方法详解
2016/04/26 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
2016/07/18 PHP
PHP Header用于页面跳转时的几个注意事项
2016/10/21 PHP
简单谈谈PHP中的trait
2017/02/25 PHP
Yii2框架数据验证操作实例详解
2018/05/02 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
一段利用WSH获取登录时间的jscript代码
2008/05/11 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(一)让静态人物动起来
2013/01/23 Javascript
javascript ajax 仿百度分页函数
2013/10/29 Javascript
document.getElementById获取控件对象为空的解决方法
2013/11/20 Javascript
javascript如何实现暂停功能
2015/11/06 Javascript
内容滑动切换效果jquery.hwSlide.js插件封装
2016/07/07 Javascript
js倒计时显示实例
2016/12/11 Javascript
jQuery实现选项卡功能(两种方法)
2017/03/08 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
vue中使用vue-router切换页面时滚动条自动滚动到顶部的方法
2017/11/28 Javascript
响应式框架Bootstrap栅格系统的实例
2017/12/19 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
js轮播图之旋转木马效果
2020/10/13 Javascript
Django学习笔记之ORM基础教程
2018/03/27 Python
Python接口自动化判断元素原理解析
2020/02/24 Python
如何使用repr调试python程序
2020/02/28 Python
分享CSS3中必须要知道的10个顶级命令
2012/04/26 HTML / CSS
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
美国著名的团购网站:Woot
2016/08/02 全球购物
ktv中秋节活动方案
2014/01/30 职场文书
八项规定整改方案
2014/10/01 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
反腐倡廉心得体会2016
2016/01/13 职场文书
Go并发4种方法简明讲解
2022/04/06 Golang
Python的property属性详细讲解
2022/04/11 Python