【问题标题】:How can I override an inherited container in Django templates?如何在 Django 模板中覆盖继承的容器?
【发布时间】:2014-10-17 04:21:20
【问题描述】:

我有一个这样的基本模板。

base.html

  <div class="container">
  {% block content %}
  {% endblock content %}
  </div>

问题在于从它继承的几个页面(即扩展 base.html )我不希望内容周围的外部容器。有没有办法做到这一点?

【问题讨论】:

    标签: django django-templates


    【解决方案1】:

    如果您可以稍微更改一下您的 base.html 模板

    {% block content_wrapper %}
      <div class="container">
        {% block content %}
        {% endblock content %}
      </div>
    {% endblock content_wrapper %}
    

    然后在您的一些细节模板中,您可以覆盖 content_wrapper 块。

    【讨论】:

      【解决方案2】:

      在我看来,最简单的方法是创建另一个您扩展的基本模板。也许称它为 base-purpose.html。另一种方法是使用{% include 'another.html' %} 标签。这也许也可以解决您的问题。

      在stackoverflow上查看include and extend之间的讨论

      【讨论】:

      • 我真的不想这样做,因为两个基本模板中都会重复很多内容。
      • 我添加了一些可以回答您问题的内容。
      猜你喜欢
      • 1970-01-01
      • 2020-01-10
      • 1970-01-01
      • 1970-01-01
      • 2017-04-01
      • 2021-02-11
      • 2017-08-22
      • 2015-11-13
      • 1970-01-01
      相关资源
      最近更新 更多