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自动格式化json文件的方法
Mar 11 Python
Python浅复制中对象生存周期实例分析
Apr 02 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
Nov 16 Python
python实现的爬取电影下载链接功能示例
Aug 26 Python
如何在VSCode上轻松舒适的配置Python的方法步骤
Oct 28 Python
python关闭占用端口方式
Dec 17 Python
python3+opencv生成不规则黑白mask实例
Feb 19 Python
Python操作Jira库常用方法解析
Apr 10 Python
pytorch中的model.eval()和BN层的使用
May 22 Python
Python图片检索之以图搜图
May 31 Python
PyQt5结合QtDesigner实现文本框读写操作
Jun 11 Python
利用Python读取微信朋友圈的多种方法总结
Aug 23 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 广告调用类代码(支持Flash调用)
2011/08/11 PHP
php如何修改SESSION的生存存储时间的实例代码
2017/07/05 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
php连接sftp的作用以及实例代码
2019/09/23 PHP
PHP7 其他修改
2021/03/09 PHP
javascript 尚未实现错误解决办法
2008/11/27 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
浅析在javascript中创建对象的各种模式
2016/05/06 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
nodejs Assert中equal(),strictEqual(),deepEqual(),strictDeepEqual()比较
2017/09/18 NodeJs
js运算符的一些特殊用法
2018/07/29 Javascript
vue-cli2 构建速度优化的实现方法
2019/01/08 Javascript
JavaScript实现背景自动切换小案例
2019/09/27 Javascript
vue elementui 实现搜索栏公共组件封装的实例代码
2020/01/20 Javascript
Vue双向绑定实现原理与方法详解
2020/05/07 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
利用pandas将numpy数组导出生成excel的实例
2018/06/14 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
python3.6使用SMTP协议发送邮件
2020/05/20 Python
Tensorflow tf.tile()的用法实例分析
2020/05/22 Python
Keras:Unet网络实现多类语义分割方式
2020/06/11 Python
怎么快速自学python
2020/06/22 Python
matplotlib.pyplot.plot()参数使用详解
2020/07/28 Python
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
美国最便宜的旅游网站:CheapTickets
2017/07/09 全球购物
JD Sports比利时官网:英国领先的运动鞋和运动服饰零售商
2018/10/10 全球购物
免税水晶:Duty Free Crystal
2019/05/13 全球购物
农民工工资支付承诺函
2014/03/31 职场文书
奥巴马开学演讲稿
2014/05/15 职场文书
幼儿园教师的自我评价范文
2014/09/17 职场文书
2016年区委书记抓基层党建工作公开承诺书
2016/03/25 职场文书
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫