如何将内容从 Django 的页面传递到侧边栏?

How do I pass content to a side bar from a page in django?

我正在用 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>

我有点不知道如何将其实现到我的应用程序中。我应该如何将子页面的内容传递到导航栏?

您应该在 base.html 中为导航栏编写不同的内容块,并在您的后续模板文件中覆盖该块。