2017-10-05 55 views
0

通用

我閱讀了關於名稱空間並嘗試了它,但我沒有明白:使用名稱空間有什麼好處。使用命名空間有什麼好處?

我做些什麼名稱空間

將我的項目urls.py應用程序通過

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

在應用程序的urls.py我

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

在應用程序模板我可以通過設置鏈接

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

問題

如果我將'myapp'作爲可重複使用的應用程序共享,我會強制用戶使用給定的命名空間'myapp'來包含應用程序。爲什麼我不應該在urls.py中將名稱命名爲'myapp-index'而不是'index'?

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

,並在模板

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

回答

1

如果你的名字與「MYAPP指數」您的網址,這是一種名稱的間隔。 Django中的命名空間功能是幫助實現最佳實踐並制定標準。標準有助於可視化模式。

您不必使用命名空間,但它很有幫助。您用於避免與第三方應用程序(甚至項目中的多個應用程序)發生衝突。

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