如何确定 Jinja2 模板块是不是为空?
Posted
技术标签:
【中文标题】如何确定 Jinja2 模板块是不是为空?【英文标题】:How can I determine if a Jinja2 template block is empty?如何确定 Jinja2 模板块是否为空? 【发布时间】:2013-09-14 06:43:13 【问题描述】:我想检测 Jinja2 模板块内容是否为空。像这样的:
% block foo %% endblock foo %% if foo % - % endif %Blah Blah Blah
我想要的是块定义本身外部的条件文本。在这个人为的例子中,我希望能够在块被覆盖且不为空的情况下插入条件字符串-
在块之后仅。
这可能吗?
【问题讨论】:
【参考方案1】:只需调用块:
% if self.foo() % - % endif %
【讨论】:
我不配!谢谢,效果很好。我是否在文档中错过了这一点,或者它是那些“专业提示”项目之一......? @Inactivist - 它隐藏在template designer docs“如果你想多次打印一个块,你可以使用特殊的 self 变量并使用该名称调用块”。 请注意,相关块必须完全为空,这一点很重要。我有一个换行符,它正在评估空字符串,但仍然算作真实。 @BrianPeterson:使用trim
过滤器忽略前导和尾随空格:% if self.foo() | trim % - % endif %
。以上是关于如何确定 Jinja2 模板块是不是为空?的主要内容,如果未能解决你的问题,请参考以下文章