Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django reverse()和CBV_Django_Django Class Based Views - Fatal编程技术网

Django reverse()和CBV

Django reverse()和CBV,django,django-class-based-views,Django,Django Class Based Views,我知道我在做一些愚蠢的事情,但我似乎找不到(一定是愚蠢的) 在url.py中,我有: urlpatterns=patterns(... ... url(r'(?P<cat>[-\w]*)/(?P<slug>[-\w]+)/$', PlantDetailView.as_view(), name='detail-view'), .... ) 但我得到以下NoReverseMatch错误: 找不到参数为“()”且关键字参数为“{u'slug':

我知道我在做一些愚蠢的事情,但我似乎找不到(一定是愚蠢的)

在url.py中,我有:

urlpatterns=patterns(...
    ...
    url(r'(?P<cat>[-\w]*)/(?P<slug>[-\w]+)/$', PlantDetailView.as_view(), name='detail-view'),
    ....
    )
但我得到以下NoReverseMatch错误:

找不到参数为“()”且关键字参数为“{u'slug':u'foo',u'cat':u'bar'}”的“详细视图”的反转。

我试过使用
*args
**kwargs
,但没有成功


谢谢你的帮助

抱歉,这是名称空间问题

由于“plants”URL包含在main URL.py中,因此解决方案是:

{%  url 'plants:detail_view' cat=category_slug slug=plant.slug %}
如果我说url文件是
plants/url.py
,我相信Samuele Mattiuzzo会抓到的,但我忽略了那个重要的细节


无论如何,感谢您的帮助。

django的新语法在模板中的视图名称周围没有
{%url-detail-view-cat=category\u-slug-slug=plant.slug%}
)ps:不要使用
*
,因为它意味着0或更多。在您的例子中,这将产生一个
//这是slug
类型的url,这是错误的。使用
+
instead已经尝试了没有单引号的语法,但它不起作用:
无法解析剩余部分:“-view”来自“detail view”。Django 1.5中“url”的语法已更改,请参阅文档。
此外,我在RE中使用
*
也是有原因的。我们可以稍后再讨论。因此我尝试重新命名以详细查看,因为
-
似乎是模板中的一个问题。但是仍然没有爱:
“url”需要一个非空的第一个参数。Django 1.5中的语法已更改,请参阅文档。
{%  url 'plants:detail_view' cat=category_slug slug=plant.slug %}