這篇文章將為大家詳細講解有關(guān)Flask 靜態(tài)文件緩存問題怎么解決,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計、海林網(wǎng)絡(luò)推廣、成都微信小程序、海林網(wǎng)絡(luò)營銷、海林企業(yè)策劃、海林品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供海林建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
在使用Flask靜態(tài)文件的時候,每次更新,發(fā)現(xiàn)CSS或是Js或者其他的文件不會更新。
這是因為瀏覽器的緩存問題。
普遍大家是這幾步解決辦法。
清理瀏覽器緩存
設(shè)置瀏覽器不緩存
也有以下這么寫的
@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 的源碼,里面可以看到,有設(shè)置緩存最大時間
SEND_FILE_MAX_AGE_DEFAULT 可以看到,它是一個 temedelta 的值
我們?nèi)ジ呐渲谩?/p>
第2行: 我們引入了datetime的timedelta對象
第6行: 我們配置緩存最大時間
這樣就解決了緩存問題,不用去寫多余的代碼,不用去清理瀏覽器的緩存。
關(guān)于Flask 靜態(tài)文件緩存問題怎么解決就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。