Django 模板呈现期间出错

Django 模板呈现期间出错,django,django-urls,Django,Django Urls,我试图通过提供url www.example.com/product\u name/product\u id来呈现产品的详细信息页面。但是我遇到了这个错误 对于带有参数(u'lehnga choli',43)'和关键字参数“{}”的“product_details”,找不到相反的结果。尝试了1个模式:['(?P[a-zA-Z]*)/(?P[0-9]+)/$'] 这是我的URL.py url(r'^(?P<product_name>[a-zA-Z]*)/(?P<produ

我试图通过提供url www.example.com/product\u name/product\u id来呈现产品的详细信息页面。但是我遇到了这个错误

对于带有参数(u'lehnga choli',43)'和关键字参数“{}”的“product_details”,找不到相反的结果。尝试了1个模式:['(?P[a-zA-Z]*)/(?P[0-9]+)/$']

这是我的URL.py

    url(r'^(?P<product_name>[a-zA-Z]*)/(?P<product_id>[0-9]+)/$', 'designer.views.product_details', name='product_details'),
这是我的观点

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))

名称中有一个空格(不能在URL中使用)。正如我在评论中提到的,您可能希望调查

但是,由于您在视图中通过
id
查找
Design
,因此模型是否有slug实际上并不重要。您可以使用模板标记使其通过URL

{% url 'product_details' designs.name|slugify designs.id %}
这也需要对您的URL进行一些小的调整,因为空格被替换为
-
-而我只是在一般情况下使用

url(r'^(?P<product_name>[\w-]+)/(?P<product_id>[0-9]+)/$', 'designer.views.product_details', name='product_details'),
url(r'^(?P[\w-]+)/(?P[0-9]+)/$),'designer.views.product_details',name='product_details'),

名称中有一个空格(不能在URL中使用)-根据您的尝试,看起来您需要感谢,但是否有其他解决方案?如何删除模板标记中的空格(立即添加答案;)
url(r'^(?P<product_name>[\w-]+)/(?P<product_id>[0-9]+)/$', 'designer.views.product_details', name='product_details'),