python - NoReverseMatch at/Reverse 为 'single_product',未找到任何参数。尝试了 1 个模式 : ['products/(?P<slug>)/$' ]

标签 python html django django-urls

我使用 django 2.2 时遇到此错误,这是我的代码

urls.py

app_name = '产品'

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>

关于python - NoReverseMatch at/Reverse 为 'single_product',未找到任何参数。尝试了 1 个模式 : ['products/(?P<slug>)/$' ],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56662329/

相关文章:

python - 将文档字符串放在特殊方法上?

python - Flask 中的 Controller 类

javascript - 从指令 View 调用 Controller 中的函数,angularJS

javascript - 使用 Django-chartit 更改 Highcharts 标签和排序 x 轴

python - 在one-hot编码期间/之后,是否可以使用另一列的值而不是二进制标志?

jquery - 滚动到具有动态内容的 div 的底部

Android解码xml文件中的html

Django - ModelChoiceField 查询集是如何工作的?

python - IDM FIWARE Django 服务器超时

python - 如何使用多个显卡运行 pytorch?