博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web笔记-通过版本号控制客户端浏览器中的缓存
阅读量:1950 次
发布时间:2019-04-27

本文共 1275 字,大约阅读时间需要 4 分钟。

这里举个例子:

通过Python管理静态资源。但有时候,js或者css更新了,浏览器不知道,还使用缓存的情况。

如下所示:

通过在url中带个?这种方式,使得浏览器去获取新的资源

看下根请求下相关链接:

后面这一串是根据时间产生的随机数。

 

如果是开发环境,我们通过这种方式,使得客户端浏览器都获取到新的资源。

生产环境,通过文件进行指定版本:

相关的python代码如下:

在配置文件夹中新增:

在静态资源管理文件中,local_setting.py中配置了这个文件,就读一行,也就是版本号,如果没有,就使用随机数据去做,相关代码如下:

UrlManager.py

from application import appfrom common.libs.DataHelper import getCurrentTimeimport osclass UrlManager(object):    @staticmethod    def buildUrl(path):        config_domain = app.config['DOMAIN']        return "%s%s" % (config_domain['www'], path)    @staticmethod    def buildStaticUrl(path):        path = "/static" + path + "?ver=" + UrlManager.getReleaseVersion();        return UrlManager.buildUrl(path)    #版本管理    #开发模式 使用时间作为版本号    #生产模式 使用版本文件进行管理    @staticmethod    def getReleaseVersion():        ver = "%s" % (getCurrentTime("%Y%m%d%H%M%S%f"))        release_path = app.config.get("RELEASE_PATH");        if release_path and os.path.exists(release_path):            with open(release_path, "r") as f:                ver = f.readline()            return ver        return ver

其中getCurrentTimer如下:

DataHelper.py

import datetimedef getCurrentTime(frm = "%Y-%m-%d %H:%M:%S"):    dt = datetime.datetime.now()    return dt.strftime(frm)

app.config.get(XXX)中这个app是在核心文件(核心变量定义文件中定义的)

如下:

转载地址:http://bdmif.baihongyu.com/

你可能感兴趣的文章
Python 实现 Cross-validation
查看>>
Grid SearchCV(网格搜索)& Python实现
查看>>
Pytorch之经典神经网络语义分割(3.1) —— 空洞卷积 Dilated/Atrous Convolution (膨胀卷积/扩张卷积)
查看>>
欧拉角(Euler angle) & 万向节死锁(Gimbal Lock) & 四元数(Quaternion)
查看>>
ROS相关知识
查看>>
语义分割模型(Deeplab V3+ & GCN & UperNet & ENet & U-Net & SegNet)
查看>>
单目深度估计 monodepth2模型 代码
查看>>
搜索中的TSA(树搜索算法) & GSA(图搜索算法) & UCS(代价一致) & CSP(约束满足问题)
查看>>
位图索引Bitmap indexes
查看>>
YOLO算法(二)—— Yolov2 & yolo9000
查看>>
YOLO算法(三)—— Yolov3 & Yolo系列网络优缺点
查看>>
Python的__future__模块
查看>>
Paper reading —— Semantic Stereo Matching with Pyramid Cost Volumes(SSPCV-Net)
查看>>
计算机视觉中的cost-volume的概念具体指什么(代价体积)
查看>>
Paper reading——Pyramid Stereo Matching Network(PSM-Net)
查看>>
启发函数heuristic 与 A*
查看>>
Image Pyramid(图像金字塔)
查看>>
Oracle 作业记录
查看>>
putty连接AWS配置(multimedia project)
查看>>
Hourglass Network 沙漏网络 (pose estimation姿态估计)
查看>>