Django 自定义模板标记仅在放在另一个块中时计算
我有一个带有classytag的自定义标签Django 自定义模板标记仅在放在另一个块中时计算,django,django-templates,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?
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
{% extend base.html %}
{% block myblock %}{% endblock %}
和index.html模板
{% block myblock %}{% endblock %}
blah blah
{% extend base.html %}
{% block myblock %}{% endblock %}
如果我将标记放在index.html中(不在任何块中)
没有发生什么事。但如果我把base.html放进去,那就行了。然后,如果我将代码移到index.html中的一个块中,它也可以工作
{% block myblock %}{% GetLanguage %}{% endblock %}
为什么?看看这里,我该如何感谢你@AamirAdnan