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实现FTP服务器服务的方法
Apr 11 Python
python创建列表和向列表添加元素的实现方法
Dec 25 Python
Python数据分析之获取双色球历史信息的方法示例
Feb 03 Python
Python中按键来获取指定的值
Mar 02 Python
Python使用os.listdir()和os.walk()获取文件路径与文件下所有目录的方法
Apr 01 Python
python支付宝支付示例详解
Aug 22 Python
Python实现socket非阻塞通讯功能示例
Nov 06 Python
Python内置加密模块用法解析
Nov 25 Python
Python3爬虫中Splash的知识总结
Jul 10 Python
django下创建多个app并设置urls方法
Aug 02 Python
matplotlib运行时配置(Runtime Configuration,rc)参数rcParams解析
Jan 05 Python
python读取pdf格式文档的实现代码
Apr 01 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 小乘法表实现代码
2009/07/16 PHP
PHP游戏编程25个脚本代码
2011/02/08 PHP
php常用数学函数汇总
2014/11/21 PHP
php将12小时制转换成24小时制的方法
2015/03/31 PHP
深入浅析PHP7.0新特征(五大新特征)
2015/10/29 PHP
php 常用的系统函数
2017/02/07 PHP
PHP实现简单用户登录界面
2019/10/23 PHP
基于PHP实现解密或加密Cloudflar邮箱保护
2020/06/24 PHP
jquery ajax 检测用户注册时用户名是否存在
2009/11/03 Javascript
jQuery AJAX 调用WebService实现代码
2010/03/24 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
动态调用CSS文件的JS代码
2010/07/29 Javascript
jquery对象和DOM对象的区别介绍
2013/08/09 Javascript
一个JavaScript处理textarea中的字符成每一行实例
2014/09/22 Javascript
推荐4个原生javascript常用的函数
2015/01/12 Javascript
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
AngularJs 最新验证手机号码的实例,成功测试通过
2017/11/26 Javascript
Vue组件化开发思考
2018/02/02 Javascript
vue :src 文件路径错误问题的解决方法
2018/05/15 Javascript
Angular 实现输入框中显示文章标签的实例代码
2018/11/07 Javascript
基于游标的分页接口实现代码示例
2018/11/12 Javascript
Element Dropdown下拉菜单的使用方法
2020/07/26 Javascript
Python读取txt文件数据的方法(用于接口自动化参数化数据)
2018/06/27 Python
Python3对称加密算法AES、DES3实例详解
2018/12/06 Python
python 字典操作提取key,value的方法
2019/06/26 Python
对django views中 request, response的常用操作详解
2019/07/17 Python
Django文件存储 默认存储系统解析
2019/08/02 Python
python设置中文界面实例方法
2020/10/27 Python
详解HTML5 Canvas绘制不规则图形时的非零环绕原则
2016/03/21 HTML / CSS
HTML里显示pdf、word、xls、ppt的方法示例
2020/04/14 HTML / CSS
普通党员个人剖析材料
2014/10/08 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
婚宴新娘致辞
2015/07/28 职场文书