我有一个base.html
模板,我希望将其用于所有页面。这个base.html
包含一个导航栏。
<nav>
<li><a href="./home">Home</a></li>
<li><a href="./foo">bar</a></li>
</nav>
当我在同一级别时(例如localhost:5000/whatever
),这没有问题,但是当我在子文件夹中时(例如localhost:5000/whatever/insert
),链接就会断开。
可以通过将相对链接改为绝对链接来解决此问题,例如:
<nav>
<li><a href="{{base_url}}/home">Home</a></li>
<li><a href="{{base_url}}/foo">bar</a></li>
</nav>
然而,我不知道如何获取base_url
。如果可能的话,我想避免在每个render_template
调用中添加base_url
。并且,如果可能的话,我也想避免手动设置base_url
。
如何使用Flask / Jinja2解决这个问题?
url_for()
,并使用_external=True
参数获取完整的URL。 - Martijn Pieters