所以我遇到的问题是我的网络应用程序有时只加载css文件,它使用相同的css文件数据,即使我对css文件进行了编辑,甚至当我删除文件时也加载了。我不知道发生了什么。我注意到,当它正确加载css时,会显示以下消息:
127.0.0.1 - - [08/Jun/2015 14:46:19] "GET /static/style.css HTTP/1.1" 200
我的style.css
文件位于名为static
的文件夹下,我的html文件中有
<link type='text/css' href='{{ url_for('static', filename='style.css') }}' rel='stylesheet'>
答案 0 :(得分:13)
Flask在静态资源上设置缓存控制标头,浏览器会将这些文件缓存最多12小时。
您的选择是:
将SEND_FILE_MAX_AGE_DEFAULT
配置指令设置为较短的值;它设置为43200,但如果你真的想要,你可以将它设置为0.
将缓存无效化查询参数添加到静态网址中;如果您的静态网址以?<somerandomvalue>
结尾,则如果该随机值发生变化,您的浏览器将重新加载资源。您可以每次手动执行此操作,或者您可以使用此Flask snippet覆盖url_for()
函数,以根据文件修改时间为您添加此值。
使用隐身浏览器窗口(其他浏览器中的隐私浏览模式)强制浏览器忽略特定会话的缓存。每次打开新的隐身标签页或窗口时,该会话的缓存都应无效。
答案 1 :(得分:2)
请使用ctrl + f5
因为当您使用简单的刷新时,它会显示来自缓存的数据,但是当您执行ctrl + f5
时,它会呈现新数据
答案 2 :(得分:1)
我想这是因为你的浏览器捕获了CSS文件。事实上,浏览器无法检测到您的更改,除非您通过按Ctrl + F5手动刷新页面并强制浏览器刷新资源。
唯一的解决此问题的一种方法是在CSS / JavaScript文件中添加随机生成的后缀,并在对文件进行更改时更改这些值。这样,浏览器就会捕获最新的CSS文件,并忽略以前的文件。
答案 3 :(得分:0)
Ctrl + Shift + R 刷新页面效果很好。