Flask不加载CSS文件..?

时间:2015-06-08 19:26:06

标签: python html css python-2.7 flask

所以我遇到的问题是我的网络应用程序有时只加载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'>

4 个答案:

答案 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手动刷新页面并强制浏览器刷新资源。

更新1:

唯一的解决此问题的一种方法是在CSS / JavaScript文件中添加随机生成的后缀,并在对文件进行更改时更改这些值。这样,浏览器就会捕获最新的CSS文件,并忽略以前的文件。

答案 3 :(得分:0)

Ctrl + Shift + R 刷新页面效果很好。