使用命名空间有什么好处?
What's the advantage of using namespace?
一般
我阅读并尝试了命名空间,但我不明白:使用命名空间有什么好处。
我对命名空间做了什么
我将我的应用程序包含在 urls.py 项目中
url(r'^myapp/', include('myapp.urls', namespace='myapp')),
在应用程序中 urls.py 我有
url(ur'^$', index, name='index'),
在应用程序模板中,我可以通过
设置link
<a href="{% url 'myapp:index' %}">
问题
如果我将 'myapp' 作为可重复使用的应用程序进行共享,我会强制用户将应用程序包含在给定的命名空间 'myapp' 中。为什么我不应该在 urls.py 中将 url 名称命名为 'myapp-index' 而不是 'index'?
url(ur'^$', index, name='myapp-index'),
并在模板中
<a href="{% url 'myapp-index' %}">
如果您将 url 命名为 'myapp-index',这是一种名称间距。 Django 中的命名空间功能是为了帮助最佳实践并有一个标准。标准有助于可视化模式。
您不必使用命名空间,但它很有用。您用来避免与第三方应用程序(甚至您项目中的多个应用程序)发生冲突。
您可以在 https://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces
中阅读更多内容
一般
我阅读并尝试了命名空间,但我不明白:使用命名空间有什么好处。
我对命名空间做了什么
我将我的应用程序包含在 urls.py 项目中
url(r'^myapp/', include('myapp.urls', namespace='myapp')),
在应用程序中 urls.py 我有
url(ur'^$', index, name='index'),
在应用程序模板中,我可以通过
设置link<a href="{% url 'myapp:index' %}">
问题
如果我将 'myapp' 作为可重复使用的应用程序进行共享,我会强制用户将应用程序包含在给定的命名空间 'myapp' 中。为什么我不应该在 urls.py 中将 url 名称命名为 'myapp-index' 而不是 'index'?
url(ur'^$', index, name='myapp-index'),
并在模板中
<a href="{% url 'myapp-index' %}">
如果您将 url 命名为 'myapp-index',这是一种名称间距。 Django 中的命名空间功能是为了帮助最佳实践并有一个标准。标准有助于可视化模式。
您不必使用命名空间,但它很有用。您用来避免与第三方应用程序(甚至您项目中的多个应用程序)发生冲突。
您可以在 https://docs.djangoproject.com/en/dev/topics/http/urls/#url-namespaces
中阅读更多内容