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求解平方根的方法
Mar 11 Python
python中requests小技巧
May 10 Python
Python SQLite3数据库日期与时间常见函数用法分析
Aug 14 Python
Python实现判断字符串中包含某个字符的判断函数示例
Jan 08 Python
遗传算法python版
Mar 19 Python
matplotlib 纵坐标轴显示数据值的实例
May 25 Python
详解python之协程gevent模块
Jun 14 Python
python爬取网易云音乐评论
Nov 16 Python
基于jupyter代码无法在pycharm中运行的解决方法
Apr 21 Python
彻底搞懂python 迭代器和生成器
Sep 07 Python
matplotlib部件之矩形选区(RectangleSelector)的实现
Feb 01 Python
python中validators库的使用方法详解
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
discuz安全提问算法
2007/06/06 PHP
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
ThinkPHP之M方法实例详解
2014/06/20 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
2016/03/21 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
Yii输入正确验证码却验证失败的解决方法
2017/06/06 PHP
Laravel框架创建路由的方法详解
2019/09/04 PHP
学习ExtJS 访问容器对象
2009/10/07 Javascript
自制基于jQuery的智能提示插件一枚
2011/02/18 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
JS实现可缩放、拖动、关闭和最小化的浮动窗口完整实例
2015/03/04 Javascript
Javascript中的方法链(Method Chaining)介绍
2015/03/15 Javascript
Jquery实现动态切换图片的方法
2015/05/18 Javascript
jQuery实现淡入淡出二级下拉导航菜单的方法
2015/08/28 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
在Web项目中引入Jquery插件报错的完美解决方案(图解)
2016/09/19 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
Jquery Easyui表单组件Form使用详解(30)
2016/12/19 Javascript
js阻止移动端页面滚动的两种方法
2017/01/25 Javascript
ES6中参数的默认值语法介绍
2017/05/03 Javascript
NodeJs实现定时任务的示例代码
2017/12/05 NodeJs
详解vue使用$http服务端收不到参数
2019/04/19 Javascript
Vue.js递归组件实现组织架构树和选人功能案例分析
2019/07/03 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
用Python调用win命令行提高工作效率的实例
2019/08/14 Python
Python3实现二叉树的最大深度
2019/09/30 Python
使用pickle存储数据dump 和 load实例讲解
2019/12/30 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
英文简历自荐信范文
2013/12/11 职场文书
2014年保洁员工作总结
2014/11/19 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
Python 机器学习工具包SKlearn的安装与使用
2021/05/14 Python
Python爬虫基础之简单说一下scrapy的框架结构
2021/06/26 Python