新聞中心
這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:Flask:如何緩存靜態(tài)文件
大家好,今天才發(fā)現(xiàn)很多學習Flask的小伙伴都有這么一個問題,清理緩存好麻煩啊,今天就教大家怎么解決。

大家在使用Flask靜態(tài)文件的時候,每次更新,發(fā)現(xiàn)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的 config 的源碼,里面可以看到,有設置緩存時間
SEND_FILE_MAX_AGE_DEFAULT 可以看到,它是一個 temedelta 的值
我們?nèi)ジ呐渲谩?/p>
第2行: 我們引入了datetime的timedelta對象
第6行: 我們配置緩存時間
這樣就解決了緩存問題,不用去寫多余的代碼,不用去清理瀏覽器的緩存。
一定要學著去看官方文檔和框架的源代碼??!
眾多python培訓視頻,盡在python學習網(wǎng),歡迎在線學習!
本文轉(zhuǎn)自:https://cuiqingcai.com/5984.html
網(wǎng)站欄目:創(chuàng)新互聯(lián)Python教程:Flask:如何緩存靜態(tài)文件
URL分享:http://fisionsoft.com.cn/article/dhoshci.html


咨詢
建站咨詢
