NoReverseMatch at / Reverse for 'single_product' 没有未找到的参数。尝试了 1 种模式:['products/(?P<slug>)/$']
NoReverseMatch at / Reverse for 'single_product' with no arguments not found. 1 pattern(s) tried: ['products/(?P<slug>)/$']
我在使用 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>
您没有在 url 中传递 slug,而是为您的模式提供了一个参数。
所以改变 html
<a href ="{% url 'products:single_product' product.slug %}" class = "btn btn-primary" role = "button">
View Product
</a>
我在使用 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>
您没有在 url 中传递 slug,而是为您的模式提供了一个参数。
所以改变 html
<a href ="{% url 'products:single_product' product.slug %}" class = "btn btn-primary" role = "button">
View Product
</a>