这是我的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