Django 中的动态 link 总是调用第一个 url 路径
Dynamic link in Django always calls the first url path
在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>
问题是即使我在 {% url 'BoxView' ... %}
中指定了 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'),
...
]
在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>
问题是即使我在 {% url 'BoxView' ... %}
中指定了 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'),
...
]