gpt4 book ai didi

html - django 模板继承 : how to NOT display block from parent?

转载 作者:太空狗 更新时间:2023-10-29 15:35:25 24 4
gpt4 key购买 nike

正在处理我的第一个 Django 项目。模板和继承的新手。

我正在使用 Bootstrap 并想要一个引人注目的主页。所以我不想要侧边栏,只想要 Jumbotron。但是,我的 index.html 继承自 base.html 并在除我的主页之外的所有其他页面中显示我确实想要的侧边栏。我希望继承其他所有内容,导航、页脚等。

我的 base.html:

{% block right_panel %}
blah blah blah
{% endblock %}

有没有办法在我的 index.html 中不继承这个 block ?或者我是否制作一个独立的 index.html 模板,其中包含 base.html 中的所有 block 减去我不想显示的 block ?

什么是最佳实践?

编辑

这是 base.html 中有问题的部分:

<div class="col-md-3 right">
{% nevercache %}
{% include "includes/user_panel.html" %}
{% endnevercache %}
<div class="panel panel-default">
<div class="panel-body">
{% block right_panel %}
{% ifinstalled mezzanine.twitter %}
{% include "twitter/tweets.html" %}
{% endifinstalled %}
{% endblock %}
</div>
</div>
</div>

CSS 正在渲染:<div class="panel-body">

我的页面.html:

{% extends "base.html" %}

<!-- no right-panel content-->
{% block right_panel %}{% endblock %}

{% load mezzanine_tags keyword_tags %}

{% block meta_title %}{{ page.meta_title }}{% endblock %}

{% block meta_keywords %}{% metablock %}
{% keywords_for page as keywords %}
{% for keyword in keywords %}
{% if not forloop.first %}, {% endif %}
{{ keyword }}
{% endfor %}
{% endmetablock %}{% endblock %}

{% block meta_description %}{% metablock %}
{{ page.description }}
{% endmetablock %}{% endblock %}

{% block title %}
{% editable page.title %}{{ page.title }}{% endeditable %}
{% endblock %}



{% block main %}
{% endblock %}

当我添加:

`{% block right_panel %}{% endblock %}

到 page.html 的顶部,内容未呈现。

什么是最好的方法?我应该制作一个新 block 并将其包裹在正在设计样式的 block 周围,然后在其他模板中将其留空吗?或者我应该将有问题的 block 从 base.html 移动到另一个模板文件并将其包含在我希望呈现它的页面上。

还有一点。如果我删除 {% block right_panel %}{% endblock %}从 page.html 放到继承自 page.html 的 gallery.html 中,内容仍然呈现。

最佳答案

只需在 index.html 中将该 block 声明为空 block 即可“屏蔽”base.html 中的内容:

即,在 index.html 中:

...
{% block right_panel %}{% endblock %}
...

关于html - django 模板继承 : how to NOT display block from parent?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23175641/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com