Python Django urls.py 不要删除部分地址

问题描述 投票:0回答:1

我有 urls.py。如果我转到 /catalog/product/"path",则在此页面上我无法指定不包含 /catalog/product/"path" 的 URL。请告诉我如何更改 urls.py 以便在 html 模板中我可以调用与 /catalog/product/"path" 不同的值

我的模板

<div class="PD-local">
                    <a href="/">Главная</a>
                    &emsp;&gt;&emsp;
                    <a href="{{ index.category.slug }}">{{ product.category.name }}</a>
                    &emsp;&gt;&emsp;
                    <a href="{{ category.slug }}">{{ product.name }}</a>
                </div>

我的网址.py

urlpatterns = [
path('search/', views.catalog, name='search'),
path('<slug:category_slug>/', views.catalog, name='index'),
path('product/<slug:product_slug>/', views.product, name='product'),
path('product/model/<slug:model_slug>', views.model, name='model'),

]

python-3.x django django-templates
1个回答
0
投票

您添加了一个前导斜杠,因此:

<div class="PD-local">
    <a href="/">Главная</a>
    &emsp;&gt;&emsp;
    <a href="/{{ index.category.slug }}">{{ product.category.name }}</a>
    &emsp;&gt;&emsp;
    <a href="/{{ category.slug }}">{{ product.name }}</a>
</div>

但是,这不是一个好主意。您最好使用

{% url … %}
模板标签 [Django-doc] 反向 URL:

<div class="PD-local">
    <a href="/">Главная</a>
    &emsp;&gt;&emsp;
    <a href="{% url 'index' index.category.slug %}">{{ product.category.name }}</a>
    &emsp;&gt;&emsp;
    <a href="{% url 'index' category.slug %}">{{ product.name }}</a>
</div>
© www.soinside.com 2019 - 2024. All rights reserved.