【发布时间】:2015-10-24 13:38:01
【问题描述】:
我正在用 Django 构建一个网站,我希望拥有主导航栏和一个侧面以获得更详细的信息。
我很乐意对主导航栏进行硬编码,但我希望侧边栏能够反映页面中的各个部分(每个部分都有锚链接)。
我见过提到{{block.super}},但这个例子有点抽象,让我理解如何将它应用到我的情况。
这是我的sidebar:
<div id="sidebar-wrapper">
<ul class="sidebar-nav">
<li class="sidebar-brand">
<a href="#">
Website Title.
</a>
</li>
{%for section in page%}
<li>
<a href="#{{section.name}}">{{section.name}}</a>
</li>
</ul>
</div>
我需要在我的 base.html 中扩展它吗?或者我是否扩展我的页面模板?
这是我当前 base.html 的正文:
<body>
{% include 'navbar.html' %}
</div>
<div class="content container">
<div class="row">
<div class="col-md-8">
{% block content %}
{% endblock %}
</div>
</div>
</div>
</body>
对于如何在我的应用中实现这一点,我有点迷茫。我应该如何将子页面的内容传递到导航栏?
【问题讨论】:
-
当我很好地理解了您的问题时,无需在模板中包含侧边栏。我认为您的模板中只需要两个 forloops。一个 forloop 用于您的链接,一个用于您的部分。顺便说一句:您的代码中缺少 endfor 标记。
-
@het.oosten 您还需要知道什么?我试图保持干燥,否则我将重复代码。
-
我认为在这种情况下做两个 forloop 是可以的,因为它们有不同的目的。
标签: html django twitter-bootstrap django-templates