我无法正确输出 CSS - 我的网页都是无样式的。
这是我所有模板中的链接。我究竟做错了什么?
<link type="text/css" rel="stylesheet" href="/stylesheets/style.css"/>
为了让它工作,我需要对 Flask 做些什么特别的事情吗?
我已经尝试和改变了大约半个小时,但似乎无法做到正确。
总结一下:如何使用 Flask 做 CSS - 我必须有任何特殊的 python 代码吗?
您不需要对 Flask 做任何特殊的事情来让 CSS 工作。也许你正在放style.css
in flask_project/stylesheets/
?除非正确配置,否则您的应用程序将不会提供此类目录。查看静态文件 http://flask.pocoo.org/docs/quickstart/#static-files的部分Flask 快速入门 http://flask.pocoo.org/docs/quickstart/有关于此的更多信息。但是,总而言之,这就是您想要做的:
移动您需要的静态文件project_root/static/
。假设您搬家了stylesheets/style.css
into project_root/static/stylesheets/style.css
.
-
Change
<link ... href="/stylesheets/style.css" />
to
<link ... href="{{ url_for('static', filename='stylesheets/style.css') }}" />
这告诉模板解析器(Jinja2)告诉 Flask 在项目目录中查找配置的静态目录(默认情况下,static/
)并返回文件的路径。
- If you really想要,你可以将路径设置为
/static/stylesheets/style.css
。但你真的不应该这样做 - 使用url_for
允许您切换静态目录并且仍然可以正常工作,还有其他优点。
而且,正如 @RachelSanders 在她的回答中所说:
在生产环境中,您最好通过 apache 或 nginx 提供静态文件,但这对于开发来说已经足够了。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)