Числовой для цикла в шаблонах Django

У меня был тот же вопрос, но потом у меня был момент «духа». Вместо записи

x ~ y

напишите

y ~ x

Очевидно, что это соответствует «x» вместо «y», но отвечает «есть ли совпадение?». вопрос и простой обход DOM могут привести вас к правильному элементу более эффективно, чем цикл в javascript.

Я понимаю, что исходный вопрос был вопросом CSS, поэтому этот ответ, вероятно, совершенно не имеет значения, но другие пользователи Javascript могут споткнуться на вопрос через поиск, как я.

236
задан Lev 9 July 2009 в 17:48
поделиться

5 ответов

{% for i in range(10) %}
   {{ i }}

{% endfor %}
-2
ответ дан 23 November 2019 в 03:24
поделиться

Вы не пройдете сам n ,

9
ответ дан 23 November 2019 в 03:24
поделиться

Вы можете передать привязку

{'n' : range(n) }

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

{% for i in n %}
...
{% endfor %}

Обратите внимание, что вы получите поведение на основе 0 (0, 1, ... n-1).

(Обновлено для совместимости с Python3)

36
ответ дан 23 November 2019 в 03:24
поделиться

К сожалению, этот не поддерживается в языке шаблонов Django. Есть пара из предложений , но они кажутся немного сложными. Я бы просто поместил переменную в контекст:

...
render_to_response('foo.html', {..., 'range': range(10), ...}, ...)
...

и в шаблон:

{% for i in range %}
     ...
{% endfor %}
97
ответ дан 23 November 2019 в 03:24
поделиться

На случай, если кто-нибудь еще столкнется с этим вопросом ... Я создал тег шаблона, который позволяет вам создать диапазон (...) : http://www.djangosnippets.org/snippets/1926/

Accepts the same arguments as the 'range' builtin and creates a list containing
the result of 'range'.

Syntax:
    {% mkrange [start,] stop[, step] as context_name %}

For example:
    {% mkrange 5 10 2 as some_range %}
    {% for i in some_range %}
      {{ i }}: Something I want to repeat\n
    {% endfor %}

Produces:
    5: Something I want to repeat 
    7: Something I want to repeat 
    9: Something I want to repeat

9
ответ дан 23 November 2019 в 03:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: