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实现探测socket和web服务示例
Mar 28 Python
python抓取网页图片并放到指定文件夹
Apr 24 Python
Python实现多线程抓取妹子图
Aug 08 Python
Django中Model的使用方法教程
Mar 07 Python
python数字图像处理之骨架提取与分水岭算法
Apr 27 Python
python3.x实现发送邮件功能
May 22 Python
Django 忘记管理员或忘记管理员密码 重设登录密码的方法
May 30 Python
python3.6环境下安装freetype库和基本使用方法(推荐)
May 10 Python
Python爬虫+tkinter界面实现历史天气查询的思路详解
Feb 22 Python
Python基础之常用库常用方法整理
Apr 30 Python
python数字图像处理之图像自动阈值分割示例
Jun 28 Python
详解Golang如何实现支持随机删除元素的堆
Sep 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生成缩略图的函数代码(修改版)
2011/01/18 PHP
Apache2中实现多网站域名绑定的实现方法
2011/06/01 PHP
php并发对MYSQL造成压力的解决方法
2013/02/21 PHP
PHP使用正则表达式清除超链接文本
2013/11/12 PHP
PHP中SQL查询语句的id=%d解释(推荐)
2016/12/10 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
php curl获取https页面内容,不直接输出返回结果的设置方法
2019/01/15 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
JavaScript中获取高度和宽度函数总结
2014/10/08 Javascript
JavaScript将Web页面内容导出到Word及Excel的方法
2015/02/13 Javascript
jQuery插件实现大图全屏图片相册
2015/03/14 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
js中substring和substr两者区别和使用方法
2015/11/09 Javascript
JS字符串false转boolean的方法(推荐)
2017/03/08 Javascript
js简易版购物车功能
2017/06/17 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
vue vant Area组件使用详解
2019/12/09 Javascript
JQuery插件tablesorter表格排序实现过程解析
2020/05/28 jQuery
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
[20:30]职业巡回赛回顾
2018/08/09 DOTA
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
python实现斐波那契数列的方法示例
2017/01/12 Python
Python之web模板应用
2017/12/26 Python
python 2.7.14安装图文教程
2018/04/08 Python
Python三维绘图之Matplotlib库的使用方法
2020/09/20 Python
JD Sports法国:英国篮球和运动时尚的领导者
2017/09/28 全球购物
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
专科毕业生就业推荐信
2013/11/01 职场文书
通信工程专业毕业生推荐信
2013/12/25 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
三月雷锋月活动总结
2014/07/03 职场文书
村级四风对照检查材料
2014/08/24 职场文书
乡镇安全生产月活动总结
2015/05/08 职场文书
毕业设计论文致谢词
2015/05/14 职场文书
vue如何实现关闭对话框后刷新列表
2022/04/08 Vue.js