NoReverseMatch位于/ each_product / 1 /

时间:2020-05-09 03:49:44

标签: django django-url-reverse

我在html模板中有一个锚标记:

<a href="{% url 'each_product'  pk=product.id %}"> View</a>

在urls.py中,我为此设置了url路径:

path("each_product/<int:pk>/", views.each_product, name="each_product")

在视图中,我已将功能each_product定义为:

def each_product(request, pk):
   return render(request, "store/view_each_product.html")

我有一个名为view_each_product.html的模板。 每当我尝试点击view tag时,它都会显示

“'each_product'的反向名称,未找到任何参数。1个模式 尝试过:['each_product /(?P [0-9] +)/ $']“

但是,当我尝试呈现其他模板(例如主页)或除此以外的任何模板时!它没有显示错误。

1 个答案:

答案 0 :(得分:1)

您还需要传递上下文

def each_product(request, pk):
   product = get_object_or_404(Product, pk=pk)
   return render(request, "store/view_each_product.html", {"product":product})