我已经开始研究烧瓶,问题是我在静态文件夹中创建了一个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>
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;
}
答案 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 键刷新内容。