我想让以下徽章列表看起来美观一些:
Badge
{% if cond %}Other badge {% endif %}
Another badge
{% if not cond %}One more badge {% endif %}
Last badge
我希望:
- 每个徽章都有自己的系列
- 如果没有添加徽章,则不要添加空行
我尝试了 16 种添加或分隔符的组合-
,{%
但%}
无法同时实现这两项功能。
更多详细信息:
- 我有一份条件徽章列表
- 上面的例子是一个简化版本
cond
,not cond
同时具有,因此问题始终存在 - 实际上,我没有if-else 的情况,它只适用于MRE
- 这 16 种组合是
可以将其粘贴到https://j2live.ttl255.com中,并使用变量Badge (-,-,-,-) {%- if cond -%}Other badge {%- endif -%} Another badge {%- if not cond -%}One more badge {%- endif -%} Last badge Badge (,-,-,-) {% if cond -%}Other badge {%- endif -%} Another badge {% if not cond -%}One more badge {%- endif -%} Last badge Badge (-,,-,-) {%- if cond %}Other badge {%- endif -%} Another badge {%- if not cond %}One more badge {%- endif -%} Last badge Badge (,,-,-) {% if cond %}Other badge {%- endif -%} Another badge {% if not cond %}One more badge {%- endif -%} Last badge Badge (-,-,,-) {%- if cond -%}Other badge {% endif -%} Another badge {%- if not cond -%}One more badge {% endif -%} Last badge Badge (,-,,-) {% if cond -%}Other badge {% endif -%} Another badge {% if not cond -%}One more badge {% endif -%} Last badge Badge (-,,,-) {%- if cond %}Other badge {% endif -%} Another badge {%- if not cond %}One more badge {% endif -%} Last badge Badge (,,,-) {% if cond %}Other badge {% endif -%} Another badge {% if not cond %}One more badge {% endif -%} Last badge Badge (-,-,-,) {%- if cond -%}Other badge {%- endif %} Another badge {%- if not cond -%}One more badge {%- endif %} Last badge Badge (,-,-,) {% if cond -%}Other badge {%- endif %} Another badge {% if not cond -%}One more badge {%- endif %} Last badge Badge (-,,-,) {%- if cond %}Other badge {%- endif %} Another badge {%- if not cond %}One more badge {%- endif %} Last badge Badge (,,-,) {% if cond %}Other badge {%- endif %} Another badge {% if not cond %}One more badge {%- endif %} Last badge Badge (-,-,,) {%- if cond -%}Other badge {% endif %} Another badge {%- if not cond -%}One more badge {% endif %} Last badge Badge (,-,,) {% if cond -%}Other badge {% endif %} Another badge {% if not cond -%}One more badge {% endif %} Last badge Badge (-,,,) {%- if cond %}Other badge {% endif %} Another badge {%- if not cond %}One more badge {% endif %} Last badge Badge (,,,) {% if cond %}Other badge {% endif %} Another badge {% if not cond %}One more badge {% endif %} Last badge
cond: true
(或false
) 来显示发生了什么 - 我使用的是复印机,而不是直接使用 Jinja,如果这有任何区别的话
相关问题:
- Jinja2 空白控制无法按预期与 IF 块配合使用- 似乎相关,但没有答案
问题是,手动空白控制机制将一系列间距字符视为相同,这些字符包括制表符、空格和换行符。
需要说明的是, Python 文档中给出了空格的定义:
来源:https://docs.python.org/3/library/stdtypes.html#str.isspace
话虽如此,这意味着您可能找不到一个好的单行解决方案,因为使用空格控制字符也会占用您的新行。
我能想到的唯一一个可以欺骗空白控制的方法是在 Jinja 表达式中打印新行:
还有许多其他建议绝对更加详细,你可以选择,不过,这里有三个我能想到的: