Существует ли соглашение об именах для приложений Django
Существует ли предпочтительное соглашение об именах для создания приложения Django, состоящего из нескольких слов? Например, какой из следующих вариантов предпочтительнее?
-
my_django_app
-
my-django-app
Обновление: Не разрешено синтаксически
-
mydjangoapp
Рекомендуемое решение
В то время как все они могут быть, варианты 1 и 3 синтаксически разрешены, есть ли предпочтение? Глядя на то, как Django создает имена таблиц, комбинируя имя приложения и имя модели с подчеркиванием, я склоняюсь к опции № 1.
Мысли?
Ответы
Ответ 1
Они должны быть действительными именами пакетов. Это исключает 2 ( "import my-django-app" будет синтаксической ошибкой). PEP 8 говорит:
Модули должны иметь короткие, все строчные имена. Подчеркивания могут использоваться в имени модуля, если он улучшает читаемость. Пакеты Python должны также имеют короткие имена с прописными буквами, хотя использование подчеркиваний не рекомендуется.
Итак, 1 и 3 являются действительными, но 3 - рекомендуемый подход.
Ответ 2
Имена каталогов приложений должны быть допустимым именем пакета Python. Это означает, что вариант 2 полностью недопустим в качестве имени пакета, хотя его все еще можно использовать для других целей, таких как документация. В конце концов, это сводится к личным стилям. Если вы предпочитаете вариант 3, используйте его.
Ответ 3
Мои голоса за 1 и 3, но вы можете проверить несколько популярных приложений:
http://www.django-cms.org/
http://geodjango.org/