Динамическая ссылка в 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'),
...
]