代码之家  ›  专栏  ›  技术社区  ›  Matthew Rankin val

django应用程序有命名约定吗

  •  91
  • Matthew Rankin val  · 技术社区  · 15 年前

    是否有创建包含多个单词的django应用程序的首选命名约定?例如,以下哪一项是首选的?

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

    同时 他们可能都是 选项1和3是 语法上允许,是否有偏好?考虑到Django通过将应用程序名和模型名与下划线组合来创建表名的方式,我倾向于使用选项1。

    思想?

    4 回复  |  直到 6 年前
        1
  •  84
  •   thraxil    15 年前

    它们必须是有效的包名称。这排除了2个问题(“导入我的Django应用程序”是一个语法错误)。 PEP 8 说:

    模块应该有所有小写的短名称。可以使用下划线 在模块名中,如果它提高了可读性。python包应该 也有短的,所有的小写名称,虽然使用下划线是 气馁的

    因此,1和3都是有效的,但是3是推荐的方法。

        2
  •  5
  •   Ignacio Vazquez-Abrams    15 年前

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

        3
  •  1
  •   Jamil Noyda    6 年前

    一些好例子

    • 石墨烯
    • 用户
    • 命令
    • OAuth2a提供程序
    • REST框架
    • 民意测验

    简单来说, app_name 应该有所有小写的短名称。如果下划线提高了可读性,则可以在模块名称中使用下划线。也应该有一个简短的名字,它可以是复数和单数的名字。

        4
  •  0
  •   Guard    15 年前

    我对1和3投了赞成票,但你可以查看几个流行的应用程序: http://www.django-cms.org/ http://geodjango.org/