2017-07-17 98 views
0

此打印尽可能多的明星是在review.ratingJinja2的 - 使用范围内进行循环

<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

总是循环五次,但将当前计数器与额定值进行比较,如果小于或等于该值,则输出活动类。

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