【发布时间】:2012-07-06 13:22:47
【问题描述】:
我正在尝试在开发过程中为我的 JS 文件设置合理的缓存过期时间。我有标准设置,其中 HTML、CSS 和 JS 位于 static 目录下。
docs 确实提到了这一点,但对于我来说,我无法让它发挥作用。我已经尝试了两种隐含的方法,首先
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__)
和
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 60
两者都没有效果,我 /static 下的 JS 文件仍然以默认的缓存超时返回,
Cache-Control: public, max-age=43200
任何指针表示赞赏。
【问题讨论】:
-
1.你使用的是烧瓶开发服务器还是像 nginx 这样的 http 代理? 2.你应该使用
return super(MyFlask, self).get_send_file_max_age(name)而不是return flask.Flask.get_send_file_max_age(self, name)。 -
上述课程对我有用,使用默认的烧瓶开发服务器。
-
出于这些和性能原因,我(以及我听到的许多其他人)让我的静态文件直接由我使用的任何网络服务器(nginx/apache)提供服务。
-
@Jarus 抱歉回复缓慢(2 年)。这只是开发服务器。我想我从来没有解决过这个问题,不久之后就停止使用 Flask(不相关的原因)。感谢您的意见。
标签: python flask cache-control static-files