【问题标题】:CSS does not update automatically in Flask unless you do a hard reload除非您进行硬重新加载,否则 CSS 不会在 Flask 中自动更新
【发布时间】:2021-06-11 18:02:33
【问题描述】:

是否有任何解决方案可以使用 HTML/JS/etc 禁用 Web 缓存?这将解决桌面和移动浏览器中的问题?

【问题讨论】:

  • 嗨,DarkHouse,“完全重新加载”是什么意思?
  • 我的意思是“硬重新加载”(shift + refresh(cmd + R))。

标签: css flask caching reload


【解决方案1】:

Flask 中文件的默认最长期限为 12 小时,为了在应用程序范围内强制执行无缓存策略,您可以在 app.py 中插入此行:

app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0

这将是您最终结果的一个示例:

from flask import Flask
app = Flask(__name__)
app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0

@app.route('/')
def hello():
    return "Hello World!"

if __name__ == '__main__':
    app.run()

另外,要在单个路由中禁用缓存,请在发送响应本身之前配置响应标头:

resp.headers["Pragma"] = "no-cache"
resp.headers["Cache-Control"] = "max-age=0, no-cache, no-store, must-revalidate, public"
resp.headers["Expires"] = '0'

当然,这两种解决方案都不适用于生产服务器,但在开发过程中可能会对您有所帮助。

【讨论】:

    猜你喜欢
    • 2019-07-10
    • 1970-01-01
    • 2013-12-16
    • 2017-08-06
    • 1970-01-01
    • 1970-01-01
    • 2017-11-24
    • 2017-02-16
    相关资源
    最近更新 更多