NoReverseMatch at / Reverse для 'single_product' без найденных аргументов.1 шаблон (ов) пробовал: ['products / (? P <slug>) / $'] - PullRequest
1 голос
/ 19 июня 2019

Я получил эту ошибку, используя django 2.2, вот мои коды

urls.py

app_name = 'products'

urlpatterns = [
    url(r'^$', product_list, name='product-list'),
    url(r'^(?P<slug>.*)/$',single, name="single_product"),
    url(r'^category/(?P<slug>.*)/$',category_single,name="category")
]

views.py в модели продукта

def get_absolute_url(self,):
        return HttpResponseRedirect(reverse('single_product',args=[self.slug]))

шаблон

<h3>{{ product }}</h3>
<p>{{ product.description }}</p>
<p>{{ product.get_price }}</p>
<p>
   <a href ="{% url 'products:single_product' %}" class = "btn btn-primary" role = "button">
      View Product
   </a>

1 Ответ

2 голосов
/ 19 июня 2019

вы не передаете слаг в URL, но задали параметр для вашего шаблона.

поэтому измените HTML

<a href ="{% url 'products:single_product' product.slug %}" class = "btn btn-primary" role = "button">
      View Product
   </a>
...