NoReverseMatch at/Python Django
我在上Django课程,下一个错误是: 找不到参数为“(1,)”和关键字参数“{}”的“products.views.product_detail”的反转。已尝试0个模式:[] 我试图从一个名为index.html的文件向视图发送一个参数 My index.html如下所示:NoReverseMatch at/Python Django,python,django,Python,Django,我在上Django课程,下一个错误是: 找不到参数为“(1,)”和关键字参数“{}”的“products.views.product_detail”的反转。已尝试0个模式:[] 我试图从一个名为index.html的文件向视图发送一个参数 My index.html如下所示: {% for pr in product %} <li> <a href="{% url 'products.views.product_detai
{% for pr in product %}
<li>
<a href="{% url 'products.views.product_detail' pr.pk %}">{{ pr.name }} </a>
| {{ pr.description }}
<img src="{{ pr.imagen.url }}" alt="">
</li>
{% endfor%}
def product_detail(request, pk):
product = get_object_or_404(Product, pk = pk)
template = loader.get_template('product_detail.html')
context = {
'product': product
}
return HttpResponse(template.render(context, request))
有人知道为什么会发生这种错误吗
谢谢。发件人:
- 取消了使用点式Python路径反转()URL的功能
{%url%}
标记使用reverse()
,因此同样适用。如注释中所述,您需要使用URLconf中提供的名称
参数,在本例中是视图。产品详细信息
:
{% for pr in product %}
<li>
<a href="{% url 'views.product_detail' pr.pk %}">{{ pr.name }} </a>
| {{ pr.description }}
<img src="{{ pr.imagen.url }}" alt="">
</li>
{% endfor %}
{%用于产品%中的pr}
|{{pr.description}}
{%endfor%}
尝试改用
。我认为您在模板标记中没有正确引用url名称。AFAIK它应该与url
模式的name
参数相同。实际上,您可能应该去掉视图。
名称的一部分,即在url模式中使用name='product\u detail'
,在模板中使用“{%url'product\u detail'pr.pk%}”
。您使用的是哪个Django版本?我使用的是Django 1.10
{% for pr in product %}
<li>
<a href="{% url 'views.product_detail' pr.pk %}">{{ pr.name }} </a>
| {{ pr.description }}
<img src="{{ pr.imagen.url }}" alt="">
</li>
{% endfor %}