应用程序的Django-URL命名空间

时间:2016-10-31 19:05:30

标签: django django-forms django-views django-urls

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

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

我添加了名称空间,因为我想要" forms_builder"要从其他应用引用的网址:

#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我得到了一个我之前没有的错误:

  

/ forms / my-example /反向的NoReverseMatch&#39; form_detail&#39;参数&#39;()&#39;和关键字参数&#39; {u&#39; slug&#39 ;: u&#39; my-example&#39;}&#39;未找到。尝试了0种模式:[]

编辑:我已经放弃了这个问题,因为在过去几天我找到了一种方法来正确访问此应用的网址,而无需添加&#39;命名空间= ...&#39;这就是我在这种情况下要做的事情。我在这里比较新,所以我不知道删除这个问题或留在这里是否合适

1 个答案:

答案 0 :(得分:0)

When you add a url namespace the way you use a url in the template is namespace:name.

因此,在您的模板中,您应该forms_builder:form_detail