Python 如何在Django中的模板文件中包含while循环

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

我需要在模板文件中呈现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-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谢谢您的回答。