Существует ли соглашение об именах для приложений Django - PullRequest
95 голосов
/ 23 июня 2010

Есть ли предпочтительное соглашение об именах для создания приложения Django, состоящего из более чем одного слова?Например, какой из следующих вариантов предпочтителен?

  1. my_django_app
  2. my-django-app Обновление: Синтаксически не разрешено
  3. mydjangoapp Рекомендуемое решение

В то время как все они могут быть , варианты 1 и 3 синтаксически разрешены,есть ли предпочтения?Глядя на то, как Django создает имена таблиц, комбинируя имя приложения и название модели с подчеркиванием, я склоняюсь к варианту № 1.

Мысли?

Ответы [ 4 ]

87 голосов
/ 23 июня 2010

Они должны быть действительными именами пакетов. Это исключает 2 («import my-django-app» будет синтаксической ошибкой). PEP 8 говорит:

Модули должны иметь короткие, строчные имена. Подчеркивания могут быть использованы в имени модуля, если это улучшает читаемость. Пакеты Python должны также имеют короткие строчные имена, хотя использование подчеркивания обескураженный.

Итак, 1 и 3 действительны, но рекомендуется 3.

6 голосов
/ 23 июня 2010

Имена каталогов приложений должны быть действительными именами пакетов Python.Это означает, что вариант 2 полностью недопустим в качестве имени пакета, хотя он все еще может использоваться для других целей, таких как документация.В конце концов, все сводится к личному стилю.Если вы предпочитаете вариант 3, используйте его.

2 голосов
/ 08 января 2019

несколько хороших примеров

  • graphene_django
  • пользователей
  • заказов
  • oauth2_provider
  • rest_framework
  • опросы

Проще говоря, app_name должны иметь короткие, строчные имена.Подчеркивания могут использоваться в имени модуля, если это улучшает читабельность.также должно иметь краткое имя, и оно может быть во множественном числе и в единственном числе

0 голосов
/ 23 июня 2010

Мои голоса за 1 и 3, но вы можете проверить несколько популярных приложений: http://www.django -cms.org / http://geodjango.org/

...