簡體   English   中英

Flask url_for()沒有緩存

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM