在我的urls.py
档案中,我有:
from myapp import views ... (r'^categories/$', views.categories)
categories
里面的视图功能在哪里myapp/views.py
.没有其他URLconf行引用views.categories
.
在单元测试文件中,我试图使用django.core.urlresolvers.reverse()
而不是仅仅复制'/ categories /'(DRY和所有这些)来获取此URL .所以我有:
from django.core.urlresolvers import reverse from myapp import views ... url = reverse(views.categories)
当我运行我的测试时,我收到一个NoReverseMatch
错误:
NoReverseMatch: Reverse for '' with arguments '()' and keyword arguments '{}' not found.
如果我将URL模式设为命名模式,它就匹配得很好,如下所示:
url(r'^categories/$', views.categories, 'myapp-categories')
并使用模式名称来匹配它:
url = reverse('myapp-categories')
但据我可以从告诉的reverse
文档,我不应该需要做它只是使用了一个名为URL模式reverse
.
我有什么想法我做错了吗?