假设我有这个:
{% if files %}
Update
{% else %}
Continue
{% endif %}
在 PHP 中,我可以编写简短条件语句,例如:
<?php echo $foo ? 'yes' : 'no'; ?>
那么,我是否能够将此翻译为适用于jinja2模板的方式:
'yes' if foo else 'no'
假设我有这个:
{% if files %}
Update
{% else %}
Continue
{% endif %}
<?php echo $foo ? 'yes' : 'no'; ?>
那么,我是否能够将此翻译为适用于jinja2模板的方式:
'yes' if foo else 'no'
是的,可以使用内联if表达式:
{{ 'Update' if files else 'Continue' }}
{{ value if value else 'No value' }}
的简写形式是 {{ value or 'No value' }}
。 - Don Grem{{ tobe or 'Not to be' }}
了。 - dcohenb{% %}
内部使用。
比如:{% set your_var = 'Update' if files else 'Continue' %}
。 - jhpgautoescape
的配置方式。如果设置为 True
,则可能需要添加 | safe
过滤器。 - bereal{{ "Whoops" if message.tags == 'danger' else message.tags }}
- TarangP另一种方法(但这不是 Python 风格,而是 JS 风格)
{{ files and 'Update' or 'Continue' }}
True and '' or 'a'
将被计算为 a
,这不是预期的结果。 - Gabriel Jablonski