我的烧瓶应用程序有这个文件夹结构:
app.py
/templates
login.html
index.html
/static
/css
main.css
login.css
/js
login.js
/images
image.png
当我在login.html中使用<link rel="stylesheet" href={{url_for('static',filename='css/main.css')}}>
时,它呈现为
<link rel="stylesheet" href="/static/css/main.css">
(注意静态前的斜杠)。
现在,这会导致404错误,因为我打算运行在NGINX服务器块中使用/ app1 /运行此应用程序。由于前缀为斜杠,应用程序尝试在XXX.XXX.XX.XX/static/css/main.css
而不是XXX.XXX.XX.XX/app1/static/css/main.css
中找到main.css
如果我不使用url_for()并在login.html中写入整个文件路径,即<link rel="stylesheet" href="static/css/main.css">
(在静态之前没有预先设置斜杠),它就可以了。
但是我想在模板中使用url_for(),因为它被认为是一种很好的做法,可以省去很多麻烦。
任何帮助/建议都将受到高度赞赏。
[编辑]:现有问题询问“添加前缀”到url_for()。这个问题涉及理解为什么url_for()在其路径中添加“/”,以及如何删除前置斜杠。如果我在模板中编写整个url路径,应用程序正在工作,但这不是一个好的解决方案。 / p>
答案 0 :(得分:0)
如果保存文件会造成一些麻烦,为什么不通过提供链接CDN引导程序
我希望有帮助