繁体   English   中英

Flask 不加载 css 文件

[英]Flask does not load css file

我已经开始在烧瓶上工作,问题是我在静态文件夹中创建了一个 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> 

图片:Hello world 烧瓶应用程序

博客.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)

样式文件

h2{
    color: #00bfff;
}

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

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"应该的

在我的情况下,我在我的代码中添加了以下行并且它起作用了

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') }}"/>

添加到已接受的答案中,有时编码本身会导致问题。 确保您有正确的编码。

<meta charset="UTF-8">

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM