如何正确调用来自django中对象ID的URL

时间:2017-11-04 10:41:35

标签: django

我想制作一个结帐页面,并且还想调用来自Django中的对象ID的URL。产品应用程序有自己的urls.py,我的问题是如何正确调用对象ID? 。这是网址http://localhost:8000/products/1。我试图调用它,但它返回一些错误。

  <button type="button" class="btn btn-primary"><i class="fa fa-shopping-
   cart">  </i>  <a href="{% url 'products/1' %}"> Add To Cart  </a>
   </button> 

  urls.py-products 
     url(r'^$', ProductListView.as_view(), name='products'),
     url(r'^cbv/(?P<pk>\d+)', ProductDetailView.as_view(), 
     name='product_detail'),
     url(r'^(?P<id>\d+)', 'products.views.product_detail_view_func', 
     name='product_detail_function'),

  main urls.py
  url(r'^products/', include('products.urls')),

  this is the error

 **Reverse for 'products/1' with arguments '()' and keyword arguments '{}' 
 not 
 found. 0 pattern(s) tried: []**

1 个答案:

答案 0 :(得分:0)

您错误地使用了url模板标记。试试

{% url 'product_detail_function' id=1 %} 

或更好地动态传递对象id,即。

 {% url 'product_detail_function' id=my_id %}

有关详细信息,请参阅Django documentation