【问题标题】: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

我想要的是块定义本身外部的条件文本。在这个人为的例子中,我希望能够在块被覆盖且不为空的情况下插入条件字符串-块之后

这可能吗?

【问题讨论】:

    标签: templates flask block jinja2


    【解决方案1】:

    只需调用块:

    {% if self.foo() %} - {% endif %}
    

    【讨论】:

    • 我不配!谢谢,效果很好。我是否在文档中错过了这一点,或者它是那些“专业提示”项目之一......?
    • @Inactivist - 它隐藏在template designer docs“如果你想多次打印一个块,你可以使用特殊的 self 变量并使用该名称调用块”。
    • 请注意,相关块必须完全为空,这一点很重要。我有一个换行符,它正在评估空字符串,但仍然算作真实。
    • @BrianPeterson:使用trim 过滤器忽略前导和尾随空格:{% if self.foo() | trim %} - {% endif %}
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-06
    • 2014-09-18
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    相关资源
    最近更新 更多