繁体   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