如何测试django模板块的使用?

时间:2009-03-01 23:25:52

标签: django django-templates

我想做以下事情:

{% if appnav %}
<hr />
<div id="appnav">
    <ul class="tabs">
        {% block appnav %}{% endblock %}
    </ul>
</div>
{% endif %}

...但是,在继承链的下游通过模板测试块的当前使用似乎不起作用。

是否还有其他条件可能会这样做?

2 个答案:

答案 0 :(得分:4)

模板语言并未准确提供您正在寻找的内容。子模板可以使用{{ block.super }}调用父块,但父模板不能引用子模板。

您最好的选择可能是编写自定义模板标记。模板手册中有两个部分需要查看。

首先,Parsing until another block tag。这将为您提供如何解析的基础知识。

第二,Parsing until another block tag and saving contents。通过在自定义标记内放置块标记,您可以检测内容并根据需要进行包装。这应该有效,因为我相信内部块标记将首先被解析。如果这不起作用,则将django提供的现有块模板标记子类化,以实现您的特殊魔法。

答案 1 :(得分:0)

如果您正在寻找简单的解决方案。您可以将元素隐藏为默认的html。

int DepthIndex = xCenter + yCenter*640