是否有一个Django应用程序的命名约定

是否有创build一个由多个单词组成的Django应用程序的首选命名约定? 例如,以下哪一项是首选?

  1. my_django_app
  2. my-django-app 更新:不允许在语法上
  3. mydjangoapp 推荐的解决scheme

虽然所有这些可能是 选项1和3在语法上是允许的,是否有偏好? 看Django通过将应用程序名称和模型名称与下划线相结合来创build表名的方法,我倾向于选项#1。

思考?

它们必须是有效的软件包名称。 这排除了2(“导入my-django-app”将是一个语法错误)。 PEP 8说:

模块应该有简短的,全小写的名字。 如果提高可读性,则可以在模块名称中使用下划线。 尽pipe不build议使用下划线,Python包也应该有简短的全小写名称。

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

应用程序目录名称必须是有效的Python包名称。 这意味着选项2作为包名是完全不可接受的,虽然它仍然可以用于其他目的,如文档。 最后归结为个人风格。 如果你更喜欢选项3,那么使用它。

我为1和3投票,但你可以检查几个stream行的应用程序: http : //www.django-cms.org/ http://geodjango.org/