最终,这是一个令人沮丧的浏览器缓存问题,可以通过强制浏览器执行“硬刷新”来解决,这将取决于浏览器/操作系统,但是通常可以:
还可以使用其他文件名技巧来避免此问题(在OP的注释中提到)。这些在您无法控制浏览器行为的生产中尤其重要。
对于非静态Flask响应,您可以设置cache_control.max_age
属性,该属性应告诉浏览器如果缓存了响应,则何时使响应到期。例如,如果您有一个返回JSON数据的Flask XHR端点,则可以执行以下操作:
@app.route('/_get_ajax_data/')
def get_ajax_data():
data = {"hello": "world"}
response = jsonify(data)
response.cache_control.max_age = 60 * 60 * 24 # 1 day (in seconds)
return response
通常,您还可以在生产Web服务器配置中为特定资源类型(例如CSS / JS / HTML / JSON / etc)设置默认值。
(与愚人节无关)