2017-07-17 39 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 %}