Добавьте переменную шаблона в URL и удовлетворите обратное соответствие

Я нашел способ вводить переменные в URL согласно Django Template: Add Variable Into URL As Parameter, но мое обратное соответствие не работает. Нужно ли мне использовать re-path и регулярные выражения?

Текущий url.py

    path('student/item/drilldown/<str:type>/<int:num>/',views.StudentBehaviorListView.as_view(),name='student_item_list_drilldown'),

Оригинал с жестким кодированием:

<a href="{%url 'registration:student_item_list_drilldown' type='grade' num=6%}">

С инъекцией переменных:

<a href="{%url 'registration:student_item_list_drilldown'%}?type=grade&num={{i.grade}}">{{i.grade}}th Grade</a>

Сообщение об ошибке:

NoReverseMatch at /registration/dashboard/
Reverse for 'student_item_list_drilldown' with no arguments not found. 1 pattern(s) tried: ['registration/student/item/drilldown/(?P<type>[^/]+)/(?P<num>[0-9]+)/\\Z']

Это:

{% url 'registration:student_item_list_drilldown' %}

Будет пытаться найти путь с именем student_item_list_drilldown, прежде чем он будет прочитан как html. Поэтому он пытается (и терпит неудачу) найти <str:type> и <int:num> в {% url 'registration:student_item_list_drilldown' %}. Вы должны включить эти переменные в скобки {% url ... %}.

Лучшим подходом было бы следующее:

{% url 'registration:student_item_list_drilldown' 'grade' i.grade %}
Вернуться на верх