问题:有条件的Jinja2速记

说我有这个:

{% if files %}
    Update
{% else %}
    Continue
{% endif %}

比方说,在PHP中,我可以写一个简写的条件语句,例如:

<?php echo $foo ? 'yes' : 'no'; ?>

有没有一种方法可以将其转换为在jinja2模板中工作:

'yes' if foo else 'no'

Say I have this:

{% if files %}
    Update
{% else %}
    Continue
{% endif %}

In PHP, say, I can write a shorthand conditional, like:

<?php echo $foo ? 'yes' : 'no'; ?>

Is there then a way I can translate this to work in a jinja2 template:

'yes' if foo else 'no'

回答 0

是的,可以使用内联if-expressions

{{ 'Update' if files else 'Continue' }}

Yes, it’s possible to use inline if-expressions:

{{ 'Update' if files else 'Continue' }}

回答 1

另一种方法(但这不是python样式。它是JS样式)

{{ files and 'Update' or 'Continue' }}

Alternative way (but it’s not python style. It’s JS style)

{{ files and 'Update' or 'Continue' }}

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。