我无法正确输出 CSS - 我的网页都没有样式。
这是我所有模板中的链接。我做错了什么?
<link type="text/css" rel="stylesheet" href="/stylesheets/style.css"/>
为了让 Flask 正常工作,我有什么特别需要做的吗?
我已经尝试和更改了大约半个小时,但似乎无法正确完成。
总结一下:你如何用 Flask 做 CSS - 我必须有任何特殊的 python 代码吗?
最佳答案
你不需要对 Flask 做任何特别的事情来让 CSS 工作。也许您将 style.css
放在 flask_project/stylesheets/
中?除非正确配置,否则您的应用程序不会提供此类目录。查看 Static Files Flask Quickstart 的部分有关这方面的更多信息。但是,总而言之,这就是您想要做的:
将你需要的静态文件移动到
project_root/static/
。假设您将stylesheets/style.css
移动到project_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 在她的回答中所说:
In a production setting, you'd ideally serve your static files via apache or nginx, but this is good enough for dev.
关于python - Flask Web 应用程序的 CSS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13772884/