如何在django模板中循环7次

zjm*_*126 18 django templates

这是我的代码:

{% for i in range(7)%}
        <option value={{i+1}}> {{i+1}}</option>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

但它显示错误,

我能做什么 ,

谢谢

小智 52

在python中,字符串是可迭代的,所以这可行:

{% for i in "1234567" %}
    <option value={{i}}> {{i}}</option>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

它是明确的,所以很好,但zjm1126的答案可能更适合长期考虑.


zjm*_*126 44

views.py:

context['loop_times'] = range(1, 8)
Run Code Online (Sandbox Code Playgroud)

HTML:

{% for i in loop_times %}
        <option value={{ i }}>{{ i }}</option>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

  • +1:最好把它放在视图中,但是`range(1,8)`会更清晰. (12认同)
  • 为什么不只是通过范围?视图:context['loop_range'] = range(1, 8) 模板:{% for i in loop_range %} ... {% endfor %} (2认同)