Django-应用的URL命名空间



这是我的Django项目的根urls.py文件:

#root urls.py urlpatterns = [...
url(r'^forms/', include(forms_builder.forms.urls)),]

我添加了一个命名空间,因为我想要"forms_builder"URL从另一个应用程序引用:

#root urls.py urlpatterns = [...
url(r'^forms/', include(forms_builder.forms.urls, namespace='forms_builder')),]
#forms urls.py urlpatterns = [...
url(r"(?P<slug>.*)/$", views.form_detail, name="form_detail"),]

但现在,当我试图访问的form_detail页面,如在例如/forms/my-example我得到一个错误,我没有以前:

NoReverseMatch at/forms/my-example/Reverse for 'form_detail' with参数'()'和关键字参数'{u'slug': u'my-example'}'没有找到。0 pattern(s) trying: []

编辑:我已经放弃了这个问题,因为在过去的几天里,我找到了一种方法来正确访问这个应用程序的url,而不需要添加'namespace=…这就是我在这种情况下想要做的。我是新来的,所以我不知道是否应该删除这个问题或者把它留在这里

当你添加url命名空间时,你在模板中使用url的方式是namespace:name

那么,在你的模板中你应该输入forms_builder:form_detail

最新更新