【发布时间】:2019-03-25 16:18:43
【问题描述】:
我正在使用烧瓶构建一个网络应用程序。我发现我一遍又一遍地重复着同样的事情,对我的每个 HTML 页面都做了一个小的编辑,所以我想把它做成一个模板。如何使其成为动态模板?下面是我用于我的 ABOUTUS 页面的代码,它与我的 CONTACT 页面只有一行不同。
关于我们页眉:
<div id="menu">
<div class="pure-menu">
<a class="pure-menu-heading" href="#">WebAPP</a>
<ul class="pure-menu-list">
<li class="pure-menu-item"><a href="/" class="pure-menu-link">Home</a></li>
<li class="pure-menu-item menu-item-divided pure-menu-selected"><a href="/aboutus" class="pure-menu-link">About</a></li>
<li class="pure-menu-item"><a href="/membership" class="pure-menu-link">Membership</a></li>
<li class="pure-menu-item"><a href="/contact" class="pure-menu-link">Contact</a></li>
{% if current_user.is_authenticated %}
<li class="pure-menu-item"><a href="{{ url_for('logout') }}" class="pure-menu-link">Log out</a></li>
{% else %}
<li class="pure-menu-item"><a href="/login" class="pure-menu-link">Log in</a></li>
{% endif %}
</ul>
</div>
联系页面标题:
<div id="menu">
<div class="pure-menu">
<a class="pure-menu-heading" href="#">WebAPP</a>
<ul class="pure-menu-list">
<li class="pure-menu-item"><a href="/" class="pure-menu-link">Home</a></li>
<li class="pure-menu-item"><a href="/aboutus" class="pure-menu-link">About</a></li>
<li class="pure-menu-item"><a href="/membership" class="pure-menu-link">Membership</a></li>
<li class="pure-menu-item menu-item-divided pure-menu-selected"><a href="/contact" class="pure-menu-link">Contact</a></li>
{% if current_user.is_authenticated %}
<li class="pure-menu-item"><a href="{{ url_for('logout') }}" class="pure-menu-link">Log out</a></li>
{% else %}
<li class="pure-menu-item"><a href="/login" class="pure-menu-link">Log in</a></li>
{% endif %}
</ul>
</div>
</div>
唯一的变化是我根据我正在加载的模板将menu-item-divided pure-menu-selected 行从一行移到另一行。我想不出一种动态执行此操作的方法,以便可以将其转换为可以为每个文件扩展的模板。
【问题讨论】:
-
看看Jinja中的模板继承link
-
@PGHE 我熟悉 Jinja 模板继承,这就是我要在这里构建的。我只是看不到构建它的方法。我熟悉基本模板和子模板以及块(也称为块结束标签)。如果您可以更具体地说明您的建议,因为我应该看看这将有所帮助。目前我能想到的所有编写方式都非常冗长,而且似乎并没有节省任何时间,而不仅仅是将其复制到每个页面中。
-
只是大声输入:在模板中对其进行参数化?喜欢
class="pure-menu-item {{ line.class }}"