我正在渲染一个模板,我正在尝试使用外部样式表对其进行样式设置。文件结构如下。
/app
- app_runner.py
/services
- app.py
/templates
- mainpage.html
/styles
- mainpage.css
mainpage.html 看起来像这样
<html>
<head>
<link rel= "stylesheet" type= "text/css" href= "../styles/mainpage.css">
</head>
<body>
<!-- content -->
我的样式都没有被应用。这与 html 是我正在渲染的模板这一事实有关吗? python 长这样。
return render_template("mainpage.html", variables..)
我知道这很有效,因为我仍然能够渲染模板。但是,当我尝试将样式代码从 html 的“head”标记中的“样式” block 移动到外部文件时,所有样式都消失了,只剩下一个 html 页面。有人看到我的文件结构有任何错误吗?
最佳答案
除非您在 Flask 初始化期间专门覆盖它,否则您需要设置“静态”文件夹(用于 css/js 文件)。我假设你没有覆盖它。
你的 css 目录结构应该是这样的:
/app
- app_runner.py
/services
- app.py
/templates
- mainpage.html
/static
/styles
- mainpage.css
注意你的/styles 目录应该在/static 下
然后,这样做
<link rel= "stylesheet" type= "text/css" href= "{{ url_for('static',filename='styles/mainpage.css') }}">
Flask 现在将在 static/styles/mainpage.css 下查找 css 文件
关于python - 应用程序未获取 .css 文件(flask/python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22259847/