Django 앱에 대한 명명 규칙이 있습니까?


115

둘 이상의 단어로 구성된 Django 앱을 만드는 데 선호하는 명명 규칙이 있습니까? 예를 들어 다음 중 선호하는 것은 무엇입니까?

  1. my_django_app
  2. my-django-app 업데이트 : 구문 상 허용되지 않음
  3. mydjangoapp 권장 솔루션

하지만 그들 모두가 될 수있다 옵션 1과 3이되는 구문 허용, 환경 설정이있다? Django가 앱 이름과 모델 이름을 밑줄로 결합하여 테이블 이름을 만드는 방식을 살펴보면 옵션 # 1에 기대어 있습니다.

생각?

답변:


108

유효한 패키지 이름이어야합니다. 2는 제외됩니다 ( "import my-django-app"은 구문 오류입니다). PEP 8 말한다 :

모듈에는 모두 소문자로 된 짧은 이름이 있어야합니다. 가독성이 향상되면 모듈 이름에 밑줄을 사용할 수 있습니다. 파이썬 패키지는 또한 모두 소문자로 된 짧은 이름을 가져야하지만 밑줄은 사용하지 않는 것이 좋습니다.

따라서 1과 3은 모두 유효하지만 3이 권장되는 접근 방식입니다.


1
이 문제에 대한 유용한 블로그 게시물 (확장하기 위해) : streamhacker.com/2011/01/03/django-application-conventions
Akhorus

7
@ surfer190 안녕하세요. Django의 두 스쿱에는 수많은 모범 사례가 포함되어 있습니다. 그들은 단수 블로그를 선택합니다. 모델을 만들 때도 같은 선택입니다. 블로그가 블로그보다 선호됩니다.
Wim Feijen

2
일반적으로 밑줄을 사용하는 것이 좋습니다. 가독성을 높이고 일반적으로 사용되기 때문입니다. 예를 들어 django_extensions와 django_debug_toolbar를 많이 사용합니다.
Wim Feijen

14
@WimFeijen, 적어도 여기 에서 Django의 두 스쿱은 앱 이름에 '앱 메인 모델의 복수 버전'을 사용하도록 권장하는 것 같습니다. 블로그라는 앱과 같은 예외는 '좋은 예외'입니다.
Caco

나는 바로 잡았다. 이것을 조사하고 저를 교육 해 주신 @Caco에게 감사드립니다.
Wim Feijen

11

좋은 예

  • 그래 핀 장고
  • 사용자
  • 명령
  • oauth2_provider
  • rest_framework
  • 투표소

간단히 말해서 app_name짧고 모두 소문자로 된 이름을 가져야합니다. 가독성이 향상되면 모듈 이름에 밑줄을 사용할 수 있습니다. 또한 짧은 이름이 있어야하며 복수 및 단수 이름이 될 수 있습니다.


7

앱 디렉터리 이름은 유효한 Python 패키지 이름이어야합니다. 이는 옵션 2가 문서와 같은 다른 목적으로 계속 사용될 수 있지만 패키지 이름으로 완전히 허용되지 않음을 의미합니다. 결국 그것은 개인적인 스타일로 귀결됩니다. 옵션 3을 선호하는 경우 사용하십시오.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.