Django URL在主应用程序和子应用程序中都很慢,反向失败

时间:2013-12-24 11:56:32

标签: django django-urls

编辑:没关系,这是完全不相关的(URL名称错误)。

我有一个Django urls.py,其中包含来自子应用程序的另一个urls.py。尝试使用reverse()时,我得到“反向未找到”错误。我在include之前和之后都在URL中使用关键字参数,它基本上是:

首先是urls.py:

urlpatterns = patterns(
    '',
    # Change requests are in a subapp
    url(r'^projects/(?P<project_slug>[^/]+)/changerequests/',
        include('myapp.changerequests.urls')),
)

在subapp的urls.py中:

urlpatterns = patterns(
    '',
    url(r'^detail/(?P<request_id>\d+)/$',
        views.RequestDetailPage.as_view(),
        name='changerequests_detail'),
)

现在我想找到一个类似

的网址
url = reverse('changerequests_detail', kwargs={
               'project_slug': self.project.slug,
               'request_id': str(self.id)})

所以它使用了两个kwargs,它们遍布urls.pys。但反过来却找不到答案(Reverse for 'changerequests_main' with arguments '()' and keyword arguments '{u'project_slug': u'123-2013_monitoring_slibaanwas-hdsr', u'request_id': '2'}' not found.)。

这是问题吗?用这种方式将kwargs传播到urls文件是不可能的吗?

1 个答案:

答案 0 :(得分:1)

可能发生错误,因为它试图撤消'changerequests_main'网址,而不是'changerequests_detail'