Передача урлов итеративно в тег url шаблона django html

У меня есть домашний шаблон со ссылками на множество других страниц, которые я хочу отображать итеративно: (это, очевидно, не работает из-за синтаксиса python)

{% for idx, category in enumerate(categories) %}
    <div class="box">
        a href={% url 'category_links[idx]' %}> {{category}}</a>
    div>
{% endfor %}

У меня есть следующие url, которые я также передаю в мой шаблон из моего представления:

category_links = ['journals', 'proceedings', 'books', 'articles_in_books', 'talks', 'poster', 'habilitations', 'phd_thesis', 'bachelor_master_diploma_thesis', 'lectures', 'conferences', 'calls_and_awards', 'telegrams_and_circulars']

Я знаю о {{forloop.counter0}}, но не смог интегрировать его должным образом.

Буду очень признателен за помощь!

Вы можете циклически просматривать список с помощью {{ forloop.counter }}, просто сделав пользовательский фильтр шаблона

I.E : то же самое, что использовать list_object[index] в python

templatetags/index.py (создайте папку templatetags в корневом каталоге приложения)

from django import template
register = template.Library()

@register.filter
def index(list_object, i):
    return list_object[i]

template.html

{% load index %}

{% for category in categories %}
{% with forloop.counter0 as i %}
<div class="box">
    a href={% url 'category_links|index:i' %}> {{category}}</a>
<div>
{% endwith %}
{% endfor %}
Вернуться на верх