Flask不加载css文件

时间:2017-04-10 06:56:21

标签: python html css flask

我已经开始研究烧瓶,问题是我在静态文件夹中创建了一个css文件,并希望在模板上加载该css文件。

但它没有加载css文件,即使我在隐身模式下尝试这个,我认为它可能是一个缓存问题,但事实并非如此。

<!DOCTYPE html>
<title> Welcome to My Blog</title>

<link rel="stylesheet" type="=text/css" href="{{ url_for('static', filename='style.css?v=0.01') }}">

<h2>Hey there {{ name }}</h2> 

Image :Hello world flask app

Blog.py

from flask import Flask, request, render_template

app = Flask(__name__)


...
@app.route('/profile/<username>')
def profile(username):
    return render_template("profile.html", name=username)

...

if __name__ == '__main__':
    app.run(debug=True, port=8080)

的style.css

h2{
    color: #00bfff;
}

3 个答案:

答案 0 :(得分:1)

问题是您在文件名中包含查询字符串。

url_for('static', filename='style.css?v=0.01')

url路径会生成static/style.css%3Fv%3D0.01,因为特殊字符会被编码。要解决此问题,您必须将查询元素添加为关键字参数:

url_for('static', filename='style.css', v=0.01)

此外:

  • 您的文件名为stye.css而不是style.css
  • 您的<link>标记显示type="=text/css"而不是type="text/css",因为它应该

答案 1 :(得分:1)

对于我来说,我已经在代码中添加了以下行,并且行得通

app.static_folder = 'static'

并且您必须更改

<link rel="stylesheet" type="=text/css" href="{{ url_for('static', filename='style.css?v=0.01') }}">

<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"/>

答案 2 :(得分:0)

除了接受的答案外,有时编码本身也会引起问题。确保编码正确。

<meta charset="UTF-8">

在HTML文件中包含charset属性。另外,为避免使用浏览器的缓存响应,请尝试使用 ctrl + F5 键刷新内容。