Намерение
В моем шаблоне Django я создаю ссылку для каждой буквы в алфавите и каждой цифры 1-9 для ссылки на страницу индекса.
В коде Python этокак это будет выглядеть:
for ch in map(chr, range(97, 123)) + range(1,10):
print '<a href="/indexpage/{0}/">{0}</a>'.format(ch)
Но я хочу сделать это в шаблоне Django, поэтому я не могу напрямую использовать функции карты / диапазона.
Неудачные попытки
Сначала я подумал о создании тега шаблона, который возвращает список буквенно-цифровых символов, а затем зацикливание его в шаблоне, но это не работает, так как это тег, а не переменная контекста.
Templatetag:
@register.simple_tag
def alnumrange():
return map(chr, range(97, 123)) + range(1,10)
Шаблон:
{% for ch in alnumrange %}
<a href="/indexpage/{{ch}}/">{{ch}}</a>
{% endfor %}
Я думал, что это может работать при использовании тега with
, но он тоже не работает.
Далеемысли
- Я не могу установить контекст в представлении, поскольку это базовый шаблон, который я расширяю.
- Я не хочу добавлять процессор контекста, так как я используюэтот диапазон только в одном шаблоне.
Есть ли способ превратить вывод шаблона тега вк переменной контекста, по которой я могу перебрать?Или есть другой способ решить эту проблему?