Flask css没有更新

ng1*_*716 30 html css python flask

我在我的mac上使用Flask(python包),当我第一次写我的css时显示确定.但是,当我更新它并尝试检查它时,我只看到第一个CSS样式.我尝试重新启动终端,以及重新安装Flask.有什么建议?谢谢.继承人HTML:

    <!DOCTYPE html>
<html>
<head>
    <title>Title</title>   
    <link rel="stylesheet" href="{{ url_for('static', filename='css/style.css') }}">
</head>
<body>

    <header>
        <div class="header"></div>
        <div class="logo">
            <center><img src="/static/img/p_logo.png" alt="pic"/></center>
        </div>
    </header> 

    <div class="container">
        {% block content %}
        {% endblock %}
    </div>

</body>
Run Code Online (Sandbox Code Playgroud)

还有CSS:

    * {
font-family: "Times New Roman", Times, serif;
}

header {
background-color: #000000;
width: 100%;
height: 7px;

}       
Run Code Online (Sandbox Code Playgroud)

Jac*_*iuk 27

如前所述,问题与浏览器缓存有关.

要解决这个问题,您可以在静态(css,js)链接中添加一些动态变量.我更喜欢每个文件的上次修改时间戳.

/static/css/style.css?q=1280549780
Run Code Online (Sandbox Code Playgroud)

这是一个代码片段:

http://flask.pocoo.org/snippets/40/

@app.context_processor
def override_url_for():
    return dict(url_for=dated_url_for)

def dated_url_for(endpoint, **values):
    if endpoint == 'static':
        filename = values.get('filename', None)
        if filename:
            file_path = os.path.join(app.root_path,
                                 endpoint, filename)
            values['q'] = int(os.stat(file_path).st_mtime)
    return url_for(endpoint, **values)
Run Code Online (Sandbox Code Playgroud)

  • 这不是Flask框架固有的问题,而是浏览器缓存.您可以始终通过适当的标头禁用浏览器缓存,但这不是生产服务器的解决方案._计算机科学中只有两件难事:缓存失效和命名事物.- - Phil Karlton (11认同)
  • 使用烧瓶完全有问题...还有其他解决方案吗? (3认同)
  • Jacek Kaniuk:你确定这与浏览器缓存有关吗?当我安装全新的浏览器时,我仍然遇到同样的问题。是的,我第一次打开 url 时,加载的 .css 文件不是最新的。 (3认同)
  • 除了烧瓶之外,我从来没有遇到过这个问题 (2认同)