如何在Django中循环X次?

mpe*_*pen 7 django django-templates

我的网站上有用户评论.每条评论的评分都是1-5星.我想打印那么多明星.我该怎么做?我只看到{% for X in Y %}哪个让你迭代一个列表,但不是一定次数.

jba*_*all 10

使用模板范围过滤器zalun:

from django.template import Library

register = Library()

@register.filter
def get_range( value ):
  """
    Filter - returns a list containing range made from given value
    Usage (in template):

    <ul>{% for i in 3|get_range %}
      <li>{{ i }}. Do something</li>
    {% endfor %}</ul>

    Results with the HTML:
    <ul>
      <li>0. Do something</li>
      <li>1. Do something</li>
      <li>2. Do something</li>
    </ul>

    Instead of 3 one may use the variable set in the views
  """
  return range( value )
Run Code Online (Sandbox Code Playgroud)


Dan*_*man 5

无需自定义过滤器 -make_list即可完成工作:

{% for i in '123'|make_list %}
Run Code Online (Sandbox Code Playgroud)

  • 我很确定这*不会*起作用。返回“[1,2,3]”*而不是*“[0,1,2,...,122]”。 (2认同)
  • 我是OP,我很确定这不是我所要求的......给定1到5之间的(整数)评级,这是如何循环“一定次数”或“X次”的? (2认同)