2010-06-23 29 views
66

是否有一個用於創建由多個單詞組成的Django應用程序的首選命名約定?例如,以下哪一項是首選?是否有Django應用程序的命名約定

  1. my_django_app
  2. my-django-app 更新:不允許語法
  3. mydjangoapp推薦溶液

雖然 它們全部可以是 選項1和3是在語法上允許,是否有偏好?看看Django通過將應用程序名稱和模型名稱與下劃線相結合來創建表名的方式,我傾向於選項#1。

想法?

回答

68

它們必須是有效的軟件包名稱。這排除了2(「導入my-django-app」將是一個語法錯誤)。 PEP 8說:

模塊應該有短,全小寫的名稱。如果提高可讀性,則可以在模塊名稱中使用下劃線 。 Python包應該 也有簡短的,全小寫的名字,儘管使用下劃線 不鼓勵。

所以,1和3都是有效的,但3將是推薦的方法。

+0

關於此問題的博客文章很有用,只是爲了擴展:http://streamhacker.com/2011/01/03/django-application-conventions/ – Akhorus 2015-12-23 15:34:56

+8

複數或單數形式? 'blog'還是'blogs'? – surfer190 2016-05-11 11:12:22

+2

Hi @ surfer190。 Django的兩個勺子包含了很多好的做法。他們選擇單數:博客。創建模型時的選擇是相同的:博客優先於博客。 – 2017-01-18 17:14:46

-1

我的票爲1和3,但你可以檢查一些流行的應用程序: http://www.django-cms.org/ http://geodjango.org/

+1

更多的應用程序在這裏:https://djangopackages.org/。請注意,軟件包通常使用缺陷命名:django-debug-toolbar,而您必須在INSTALLED_APPS設置中使用「django_debug_toolbar」。 – 2017-01-18 17:19:27

4

app目錄名稱必須是一個有效的Python包的名稱。這意味着選項2作爲包名是完全不可接受的,儘管它仍然可以用於其他目的,例如文檔。最終歸結爲個人風格。如果你更喜歡選項3,然後使用它。