首页 > 解决方案 > Django URL 给出错误当前路径 carmodels/Tata/ZEST/XE Petrol 与其中任何一个都不匹配

问题描述

我的网址.py

urlpatterns = [
    url(r'^$', home_view, name='home'),
    url(r'^home/', home_view, name='home'),
    url(r'^search/', search, name='search'),
    url(r'^select/', search, name='select'),
    url('ajax/home_view/',home_view, name='ajax_load_models'),
    url(r'^carmodels/(?P<product_make>\w+)/(?P<model_name>\w+)/(?P<variant>\w+)/$', search, name='product_detail'),
    ]+ static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

我在html中的href链接

 <a href="/carmodels/{{ item.product_make }}/{{ item.model_name }}/{{ item.variant }}" class="card-title">{{ item.product_make }} {{ item.model_name }}  {{ item.variant }} </a>

我是 django 的新手,你能告诉我我做错了什么吗?或者如何在 url 中写多个斜杠

标签: djangodjango-urls

解决方案


我建议您避免使用硬编码的 URL,以防止出现此类错误。由于您已经name为您url的 s 指定了 a,您可以在模板中引用它,如下所示:

<a href="{% url 'product_detail' item.product_make item.model_name item.variant %}" class="card-title">{{ item.product_make }} {{ item.model_name }}  {{ item.variant }} </a>

这样您就不必担心编写完全相同的 URL。您可以通过查看文档了解更多信息。


推荐阅读