一尘不染

Flask Web App的CSS问题

flask

我无法正确输出CSS-我的网页均未设置样式。

这是我所有模板中的链接。我究竟做错了什么?

<link type="text/css" rel="stylesheet" href="/stylesheets/style.css"/>

为了使Flask正常工作,我有什么特别的需要吗?

我已经尝试和更改了大约半小时,但似乎无法解决问题。

总结一下:如何在Flask中使用CSS-我必须有任何特殊的python代码吗?


阅读 415

收藏
2020-04-06

共1个答案

一尘不染

你无需对Flask进行任何特殊处理即可使CSS正常工作。也许你要style.css输入flask_project/stylesheets/?除非正确配置,否则你的应用程序将不会提供此类目录。请查看Flask快速入门的“ 静态文件”部分,以获取有关此信息的更多信息。但是,总而言之,这是你想要做的:

移动你需要的静态文件project_root/static/。让我们假设你感动stylesheets/style.cssproject_root/static/stylesheets/style.css

更改

<link ... href="/stylesheets/style.css" />

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

这告诉模板解析器(Jinja2)告诉Flask在项目目录(默认为)中找到已配置的静态目录,static/并返回文件的路径。

如果确实需要,可以将路径设置为/static/stylesheets/style.css。但是你实际上不应该这样做-使用url_for可以使你切换静态目录并且仍然可以使工作正常进行,还有其他优势。
而且,正如@RachelSanders在回答中所说的:

在生产环境中,理想情况下,你希望通过apache或nginx提供静态文件,但这对于开发人员来说已经足够了。

2020-04-06