自定义模板标记仅在放入另一个块时进行评估

时间:2013-07-15 08:52:30

标签: django django-templates

我有一个带有classytag的自定义标签

class GetLanguage(Tag):
    name = 'GetLanguage'
    options = Options(
        Argument('name', resolve=False)
    )

    def render_tag(self, context, name):
        raise  #I put raise here to see if it run the code?
        return name

register.tag(GetLanguage)

和base.html模板

{% block myblock %}{% endblock %}
blah blah

和index.html模板

{% extend base.html %}
{% block myblock %}{% endblock %}

如果我将我的标签放在index.html(不在任何块中)

{% GetLanguage %}
{% block myblock %}{% endblock %}
什么都没发生。但如果我放入base.html它的工作。然后,如果我将代码移入index.html中的一个块,它也可以工作。

{% block myblock %}{% GetLanguage %}{% endblock %}

为什么?

0 个答案:

没有答案