Python 如何在Django中的模板文件中包含while循环
我需要在模板文件中呈现html代码块5次。比如在php中,我尝试了下面的方法Python 如何在Django中的模板文件中包含while循环,python,django,Python,Django,我需要在模板文件中呈现html代码块5次。比如在php中,我尝试了下面的方法 {% extends 'stories/base.html' %} {% block body %} <h1>This is rating page</h1> <section class='rating-widget'> {% with count = 0 %} {% while count < 5: %} <div class='rating-s
{% extends 'stories/base.html' %}
{% block body %}
<h1>This is rating page</h1>
<section class='rating-widget'>
{% with count = 0 %}
{% while count < 5: %}
<div class='rating-stars text-center'>
<ul class='stars'>
<li class='star selected' title='Poor' data-value='1'>
<i class='fa fa-star fa-fw'></i>
</li>
<li class='star selected' title='Fair' data-value='2'>
<i class='fa fa-star fa-fw'></i>
</li>
<li class='star selected' title='Good' data-value='3'>
<i class='fa fa-star fa-fw'></i>
</li>
<li class='star selected' title='Excellent' data-value='4'>
<i class='fa fa-star fa-fw'></i>
</li>
<li class='star selected' title='WOW!!!' data-value='5'>
<i class='fa fa-star fa-fw'></i>
</li>
</ul>
</div>
{% count += 1 %}
{% endwhile %}
{% endwith %}
</section>
{%extends'故事/base.html%}
{%block body%}
这是评级页面
{0%,计数为0%}
{%而计数<5:%}
-
-
-
-
-
{%count+=1%}
{%endwhile%}
{%endwith%}
但我没有得到预期的结果。它给了我语法错误“'with'预期至少有一个变量赋值”。这是可能的还是在django中实现这种循环的正确方法?您需要删除
count=0
部分之间的空格,因为{%with%}
模板标记解析变量赋值的方式。您不能在django模板语言中增加变量。我链接到的网站有几个建议。对于5次循环,{%fori in'xxxxx%}
是最简单的。对于较大的数字,我喜欢times
过滤器的建议。@Alasdair谢谢。它工作简单。有很多东西需要学习:)。这将解决with
标记的问题,然后您将立即在下一行{%while count<5:%}
上得到一个错误。关键的一点是,在Django模板语言中,您不能做这种事情。@ptr谢谢您的回答。