【问题标题】:Trying to extend to base file in Django试图在 Django 中扩展到基本文件
【发布时间】:2019-03-14 17:22:03
【问题描述】:

所以我试图将许多文件(让我们将它们命名为 sidebar1.htmlsidebar2.htmlcontent.html)为 1主文件(global.html

问题是每当我运行它时,它不会显示侧边栏,但会显示 content.html 的内容。

这是全局页面(用于侧边栏):

    <div style="color: white;">

    {% block sidebar %}

    {% endblock %}

    </div>

这是全局页面(用于内容):

    <div class="segment">
        <div class="container" style="margin:25px 35px 10px 300px;">

        {% block main %}

        {% endblock %}

        </div>
    </div>

示例内容:

    {% extends "global_base_ui.html" %}

    {% block main %}

        content

    {% endblock %}

这是侧边栏内容:

    {% extends 'global_base_ui.html' %}

    {% block sidebar %}
        <div class="item">
            <a class="title">
                <i class="dropdown icon"></i>
                <b>Manager's Tools</b>
            </a>
        </div>
    {% endblock %}

【问题讨论】:

  • 这里的问题是您多次使用extend。最好只对你的 content.html 使用块内容和结束块,并为你的两个侧栏使用包含标签。

标签: django templates django-templates


【解决方案1】:

扩展只能用于一个模板来扩展另一个。你不能做多个{% extends 'base.html' %},至少在 django 2.x...

您可能想使用{% include 'some_other_template.html' %}

因此,将您要包含的模板放入另一个模板中,现在您只需编辑 1 个文件。对于多个地方的联系信息等非常有用。

【讨论】:

    猜你喜欢
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 1970-01-01
    • 2011-10-10
    • 1970-01-01
    相关资源
    最近更新 更多