[英]Flask url_for() no cache
我把一些文件放在靜態目錄中,這些文件通過一些后端處理保持更新。 我使用url_for()
將url返回給客戶端。
但我發現即使我從靜態目錄中刪除舊文件並重新生成更新的文件,它仍會在客戶端瀏覽器上顯示舊文件的內容。 我認為舊文件已被緩存。
有誰知道如何為url_for()
函數設置no-cache?
提前致謝!
基本上,您需要創建一個響應發送,然后在響應上設置一些額外的標頭,然后發送響應:
def send_url(method):
response = app.make_response(url_for(method))
response.headers.add('Last-Modified', datetime.datetime.now())
response.headers.add('Cache-Control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0')
response.headers.add('Pragma', 'no-cache')
return response
禁用所有緩存只是因為偶爾你有一個新的版本是非常好的做法。 緩存css和js可帶來巨大的性能優勢。
好的網站做的是將文件的時間戳添加到資源URL。 例如,在Flask中,這是一種透明地執行此操作的方法: http : //flask.pocoo.org/snippets/40/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.