我参加了我的第一个JinJa2项目。 我想展示汽车。汽车可以有一个或多个选项。 如果汽车有一个选项,请显示。如果它有更多,暂时隐藏它。 这是我的代码:
//...
{% set products = ['Audi', 'BMW', 'Mercedes', 'Porsche'] %}
{% set options = ['Small', 'Sport', 'Coupe', 'Jeep'] %}
{% for product in products %}
{% include '../car-product-item.html' with context %}
{% endfor %}
{% if options|length > 1 %}
//If a car has more options, hide this options for the moment
<div class="order-more-options" style="display: none; background: green">
{% for product in options %}
{% include '../car-product-item.html' with context %}
{% endfor %}
</div>
{% elif options|length == 1 %}
//If a car has one option, show this option
<div class="order-more-options" style="display: block; background: orange">
{% for product in options %}
{% include '../car-product-item.html' with context %}
{% endfor %}
</div>
{% endif %}
//...
由于某种原因,它不起作用。选项始终隐藏。 我做错了什么?
我检查了Tutorial,Docu和另一个SO-Question,但没有任何帮助。
答案 0 :(得分:0)
对我来说,当我跳过
时它工作正常{% include ...
使用以下代码命令:
{% set products = ['Audi', 'BMW', 'Mercedes', 'Porsche'] %}
{% set options = ['Small', 'Sport', 'Coupe', 'Jeep'] %}
{% if options|length > 1 %}
<div>more than one options</div>
<div class="order-more-options" style="display: none; background: green">
{% for product in options %}
{{product}}
{% endfor %}
</div>
{% elif options|length == 1 %}
<div>exactly one option</div>
<div class="order-more-options" style="display: block; background: orange">
{% for product in options %}
{{product}}
{% endfor %}
</div>
{% endif %}
您是否使用 car-product-item.html 的正确路径?尝试将文件 car-product-item.html 放入模板文件夹,并将包含行更改为{%include&#39; /car-product-item.html' ...%}。