带有狂热和烧瓶的图像

时间:2013-01-29 23:28:45

标签: python flask fanstatic

我让Fanstatic与Flask for CSS和JS合作得很好。该库将允许您使用哈希生成散​​列文件名。如果click.js的哈希值为a0sd2lfu12v18fhac4ias0o7if,那么您可以在刻录应用程序中呈现click-a0sd2lfu12v18fhac4ias0o7if.js。这样做的目的是使浏览器和CDN缓存无效。当文件内容发生变化时,文件名也会发生变化。

我需要一个为我的图像生成哈希的库,比如Fanstatic为CSS / JS生成哈希,这样当我更新我的图像并部署到生产时,浏览器就会使用新图像。

Fanstatic的文档提到它可以提供图像,但它没有给出任何例子。如何使用Flask使用我的图像资源获取此基于哈希的文件名?如果你知道如何用狂热的话做,请告诉我怎么样?如果有一个更好的库来渲染带有基于散列的文件名的图像,你能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:1)

假设您已经设置了狂热的发布者,以下是在请求周期中如何计算资源qux的URL:

import fanstatic
needed = fanstatic.get_needed()
# The NeededResources object is where the configuration 
#(base_url, versionining, etc) is stored during the request.
url = '%s/%s' % (needed.library_url(qux.library), qux.relpath)