【发布时间】:2014-01-12 16:09:33
【问题描述】:
编辑:没关系,这是完全不相关的东西(错误的 URL 名称)。
我有一个 Django urls.py,其中包含来自子应用的另一个 urls.py。尝试使用 reverse() 时出现“找不到反向”错误。我在包含之前和之后的 URL 中都使用关键字参数,基本上是:
第一个 urls.py:
urlpatterns = patterns(
'',
# Change requests are in a subapp
url(r'^projects/(?P<project_slug>[^/]+)/changerequests/',
include('myapp.changerequests.urls')),
)
在子应用的 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)})
所以它使用了两个 kwarg,它们分布在两个 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.)。
是这个问题吗?以这种方式在 urls 文件上传播 kwargs 是不可能的吗?
【问题讨论】:
标签: django django-urls