首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Flask静态文件缓存-控制

Flask静态文件缓存-控制
EN

Stack Overflow用户
提问于 2012-07-06 13:13:30
回答 2查看 13.9K关注 0票数 22

我正在尝试在开发过程中为我的JS文件设置一个合理的缓存过期时间。我有标准的设置,其中HTML,CSS和JS位于static目录下。

docs确实提到了这一点,但对于我来说,我不能让它工作。我已经尝试了两种隐含的方法,首先

代码语言:javascript
复制
class MyFlask(flask.Flask):
    def get_send_file_max_age(self, name):
        if name.lower().endswith('.js'):
            return 60
        return flask.Flask.get_send_file_max_age(self, name)

app = MyFlask(__name__)

代码语言:javascript
复制
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 60

两者都没有效果,我在/static下的JS文件仍然返回默认的缓存超时,

代码语言:javascript
复制
Cache-Control: public, max-age=43200

感谢您的指点。

EN

回答 2

Stack Overflow用户

发布于 2013-04-17 15:51:27

您可能需要查看webassets来管理缓存过期。它可以在开发和生产环境中工作。

票数 1
EN

Stack Overflow用户

发布于 2016-01-25 07:51:41

我有这个问题,在网上找不到适合我的答案。

然后我意识到我的静态文件根本不是由Flask提供的!Flask只生成我的HTML。静态文件直接由我的web服务器提供服务(在我的情况下,Apache,您的可能是Nginx或其他服务器)。

以下是Apache的使用说明。

首先安装mod_expires模块:

sudo a2enmod expires

然后将如下内容添加到您的.htaccess文件中:

代码语言:javascript
复制
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType image/* "access plus 1 year"

有关如何在Apache manual中配置它的更多详细信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11356188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档