Как цикл 7 раз в шаблонах django

это мой код:

{% for i in range(7)%}
        <option value={{i+1}}> {{i+1}}</option>
{% endfor %}

но он показывает ошибку,

что я могу сделать,

спасибо

Ответ 1

views.py:

context['loop_times'] = range(1, 8)

HTML:

{% for i in loop_times %}
        <option value={{ i }}>{{ i }}</option>
{% endfor %}

Ответ 2

В python строки являются итерабельными, поэтому это работает:

{% for i in "1234567" %}
    <option value={{i}}> {{i}}</option>
{% endfor %}

Это явно, так что вполне нормально, но ответ zjm1126, вероятно, лучше для долгосрочного рассмотрения.

Ответ 3

Шаблоны Django не поддерживают диапазоны. У вас есть несколько вариантов:

Здесь вы добавляете настраиваемые фильтры: http://docs.djangoproject.com/en/dev/howto/custom-template-tags/

  • Используйте другую систему шаблонов, такую ​​как Mako, которая поддерживает ее.

http://docs.djangoproject.com/en/dev/ref/templates/api/#using-an-alternative-template-language Django-Mako - это ярлык для использования Mako: http://code.google.com/p/django-mako/