当前位置:  开发笔记 > 编程语言 > 正文

如何将django.core.urlresolvers.reverse与函数引用而不是命名的URL模式一起使用?

如何解决《如何将django.core.urlresolvers.reverse与函数引用而不是命名的URL模式一起使用?》经验,为你挑选了0个好方法。

在我的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.

我有什么想法我做错了吗?

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有