模板渲染时出错
Error during template rendering
我正在尝试通过提供 url www.example.com/product_name/product_id 来呈现产品的详细信息页面。但是我收到了这个错误。
'product_details' 的反向操作,参数“(u'lehnga choli', 43)”和关键字参数“{}”未找到。尝试了 1 种模式:['(?P[a-zA-Z]*)/(?P[0-9]+)/$']
这是我的 urls.py
url(r'^(?P<product_name>[a-zA-Z]*)/(?P<product_id>[0-9]+)/$', 'designer.views.product_details', name='product_details'),
这是我在 html 模板中的 urls
{% url 'product_details' designs.name designs.id %}
这是我的 views.py
def product_details(request, product_name, product_id):
design = Design.objects.get(id=product_id)
return render_to_response("designer/product_detail.html", {
"design":design,
"current": "product_detail",
}, context_instance=RequestContext(request))
名称中有一个space(不能在URL中使用)。正如我在评论中提到的,您可能想查看 SlugField
但是,因为您在视图中查找 id
的 Design
,模型是否具有鼻涕虫。您可以使用模板标签 slugify
使其可以通过 URL。
{% url 'product_details' designs.name|slugify designs.id %}
这也需要对您的 URL 进行小的调整,因为 space 被替换为 -
- 我通常只使用 \w
。
url(r'^(?P<product_name>[\w-]+)/(?P<product_id>[0-9]+)/$', 'designer.views.product_details', name='product_details'),
我正在尝试通过提供 url www.example.com/product_name/product_id 来呈现产品的详细信息页面。但是我收到了这个错误。
'product_details' 的反向操作,参数“(u'lehnga choli', 43)”和关键字参数“{}”未找到。尝试了 1 种模式:['(?P[a-zA-Z]*)/(?P[0-9]+)/$']
这是我的 urls.py
url(r'^(?P<product_name>[a-zA-Z]*)/(?P<product_id>[0-9]+)/$', 'designer.views.product_details', name='product_details'),
这是我在 html 模板中的 urls
{% url 'product_details' designs.name designs.id %}
这是我的 views.py
def product_details(request, product_name, product_id):
design = Design.objects.get(id=product_id)
return render_to_response("designer/product_detail.html", {
"design":design,
"current": "product_detail",
}, context_instance=RequestContext(request))
名称中有一个space(不能在URL中使用)。正如我在评论中提到的,您可能想查看 SlugField
但是,因为您在视图中查找 id
的 Design
,模型是否具有鼻涕虫。您可以使用模板标签 slugify
使其可以通过 URL。
{% url 'product_details' designs.name|slugify designs.id %}
这也需要对您的 URL 进行小的调整,因为 space 被替换为 -
- 我通常只使用 \w
。
url(r'^(?P<product_name>[\w-]+)/(?P<product_id>[0-9]+)/$', 'designer.views.product_details', name='product_details'),