我正在渲染一个模板,并尝试使用外部样式表来设置其样式。文件结构如下。
/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”标签内的“style”块移动到外部文件时,所有样式都消失了,只剩下一个空的 html 页面。有人看到我的文件结构有错误吗?
您需要设置一个“静态”文件夹(用于 css/js 文件),除非您在 Flask 初始化期间专门覆盖它。我假设您没有覆盖它。
你的 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 文件