Jinja2 - 使用范围内部添加类for循环

时间:2017-07-17 11:57:09

标签: python jinja2

这会打印review.rating

中传递的许多星星
<div class="ratings">
  {% for review reviews') %}
    {% for n in range(review.rating) %}
      <span class="review-star review-star-active">★</span>
    {% endfor %}
  {% endfor %}
</div>

我可以使用上面的代码获得的输出是:

<div class="ratings">
  <span class="review-star review-star-active">★</span>
  <span class="review-star review-star-active">★</span>
  <span class="review-star review-star-active">★</span>
</div>

但我需要的输出是:

<div class="ratings">
  <span class="review-star review-star-active">★</span>
  <span class="review-star review-star-active">★</span>
  <span class="review-star review-star-active">★</span>
  <span class="review-star">★</span>
  <span class="review-star">★</span>
</div>

我不知道怎么能这样做。提前谢谢。

1 个答案:

答案 0 :(得分:1)

始终循环五次,但将当前计数器与评级进行比较,如果活动级别小于或等于,则输出活动类。

{% for n in range(5) %}
  <span class="review-star {% if n <= review.rating %}review-star-active{% endif %}">★</span>
{% endfor %}