使用命名空间的优势是什么?

时间:2017-10-05 22:17:56

标签: django namespaces django-urls

一般

我阅读了有关命名空间的内容并尝试了它,但我不明白这一点:使用命名空间的优势是什么。

我如何处理名称空间

我将我的应用程序包含在项目urls.py中

url(r'^myapp/', include('myapp.urls', namespace='myapp')),

在应用程序urls.py中我有

url(ur'^$', index, name='index'),

在应用模板中,我可以通过

设置链接
<a href="{% url 'myapp:index' %}">

问题

如果我愿意分享我的应用程序&#39;作为可重复使用的应用程序,我会强制用户将应用程序包含在给定的命名空间&#39; myapp&#39;中。为什么我不应该只为网址命名&#39; myapp-index&#39;而不是&#39;索引&#39;在urls.py?

url(ur'^$', index, name='myapp-index'),

并在模板中

<a href="{% url 'myapp-index' %}">

1 个答案:

答案 0 :(得分:1)

如果您使用“myapp-index”命名您的网址,则这是一种名称间距。 Django中的命名空间功能是帮助实现最佳实践并拥有标准。标准有助于可视化模式。

您不必使用名称空间,但它很有帮助。您可以使用它来避免与第三方应用程序(甚至项目中的多个应用程序)发生冲突。

您可以在https://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces

中阅读更多内容
相关问题