Подтвердить что ты не робот

Существует ли соглашение об именах для приложений Django

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

  • my_django_app
  • my-django-app Обновление: Не разрешено синтаксически
  • mydjangoapp Рекомендуемое решение

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

Мысли?

4b9b3361

Ответ 1

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

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

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

Ответ 2

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