Flask:如何在多个模板文件中包含带有占位符的html?

Flask:如何在多个模板文件中包含带有占位符的html?,flask,Flask,我正在用flask构建一个网站,遇到了以下问题:我有几个不同的页面使用完全相同的导航栏。到目前为止,我刚刚处理并粘贴了HTML代码,生成了每个文件的导航栏,但这似乎效率低下 我想到的一个解决方案是,只需将{navbar | safe}}放在每个模板文件中,然后将navbar html存储在单个文件中,并将其作为参数传递给render|u模板。但是,导航条形码也包含占位符,因此这不起作用 实现这一点的好方法是什么?我的建议之一是使用{%include“nav.html”%} 其中nav.html仅

我正在用flask构建一个网站,遇到了以下问题:我有几个不同的页面使用完全相同的导航栏。到目前为止,我刚刚处理并粘贴了HTML代码,生成了每个文件的导航栏,但这似乎效率低下

我想到的一个解决方案是,只需将{navbar | safe}}放在每个模板文件中,然后将navbar html存储在单个文件中,并将其作为参数传递给render|u模板。但是,导航条形码也包含占位符,因此这不起作用


实现这一点的好方法是什么?

我的建议之一是使用{%include“nav.html”%}

其中nav.html仅包含导航栏

通过使用{%include%},您可以在不同的页面上放置相同的导航栏

例如,my master.html可能设置了此选项

master.html

{% include "nav.html" %} <!-- your nav html goes here -->

<!-- Section block for item in the page -->
<div class="main">
    <div class = "container">
        {% block section %}

        {% endblock %}
    </div>
</div>
<ul>
  <li><a class="active" href="#home">Home</a></li>
  <li><a href="{{link_1}}">{{name_1}}</a></li>
  <li><a href="#"">Contact</a></li>
  <li><a href="#">About</a></li>
</ul>
{% extends "master_main.html" %}

{% block section %}

    <div class = "content">
       This is my content
    </div>

{%  endblock %}

登陆页面.html

{% include "nav.html" %} <!-- your nav html goes here -->

<!-- Section block for item in the page -->
<div class="main">
    <div class = "container">
        {% block section %}

        {% endblock %}
    </div>
</div>
<ul>
  <li><a class="active" href="#home">Home</a></li>
  <li><a href="{{link_1}}">{{name_1}}</a></li>
  <li><a href="#"">Contact</a></li>
  <li><a href="#">About</a></li>
</ul>
{% extends "master_main.html" %}

{% block section %}

    <div class = "content">
       This is my content
    </div>

{%  endblock %}
{%extensed“master_main.html”%}
{%block section%}
这是我的内容
{%endblock%}
您可以看到,landing_page.html扩展了master.html,后者包含nav.html

因此,扩展master.html的每个页面都将具有相同的导航栏


include允许您将参数传递到nav.html,因为您可以看到我已经传递了link_1和name_1

检查@Niche.p user的解释。我只想添加我的个人项目作为更实际的例子

你们可以看到我包括了导航栏,就像他在文件夹部分中说的

若你们检查我的文件夹,你们会看到所有的模板都包含那个条语句的导航栏,导航栏就在这个文件夹中