我阅读了有关命名空间的内容并尝试了它,但我不明白这一点:使用命名空间的优势是什么。
我将我的应用程序包含在项目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' %}">
答案 0 :(得分:1)
如果您使用“myapp-index”命名您的网址,则这是一种名称间距。 Django中的命名空间功能是帮助实现最佳实践并拥有标准。标准有助于可视化模式。
您不必使用名称空间,但它很有帮助。您可以使用它来避免与第三方应用程序(甚至项目中的多个应用程序)发生冲突。
您可以在https://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces
中阅读更多内容