Динамическая ссылка в Django всегда вызывает первый путь url

В urls.py внутри urlpatterns у меня есть следующие две строки

urlspatterns = [
...
path('<slug:productSlug>', ProductView.as_view(), name = 'viewProduct'),
path('<slug:boxSlug>', BoxView.as_view(), name = 'BoxView'),
...
]

В моем html шаблоне есть две ссылки

<a href="{% url 'viewProduct' item.productSlug %}" class="btn btn-outline-primary" tabindex="-1" role="button" aria-disabled="true">product view</a>

<a href="{% url 'BoxView' item.boxSlug %}" class="btn btn-outline-primary" tabindex="-1" role="button" aria-disabled="true">Box View</a>

Проблема в том, что даже если я указал BoxView в {% url 'BoxView' ... %}, он продолжает вызывать путь viewProduct. Если я поменяю порядок этих двух путей в urlPatterns, то он продолжает вызывать 'BoxView'. Я не понимаю, почему он продолжает вызывать все, что находит первым в urlPatterns.

Вам нужно как-то различать тип представления. Например, вы можете:

urlspatterns = [
...
path('product_view/<slug:productSlug>', ProductView.as_view(), name = 'viewProduct'),
path('box_view/<slug:boxSlug>', BoxView.as_view(), name = 'BoxView'),
...
]
Вернуться на верх