[django] Django 1.9에서 apps.py의 목적은 무엇입니까?

난 그냥 위로 넘어가 장고 1.9 알파 릴리스 노트 있고 톱 startapp관리 명령은 이제 apps.py 파일을 추가합니다 .

이 파일의 목적은 무엇입니까? 의 startApp 문서는 더 많은 정보를 제공하지 않았다.



답변

apps.py파일의 목적 :

이 파일은 사용자 가 앱의 응용 프로그램 구성 을 포함 할 수 있도록하기 위해 만들어졌습니다 . 이를 사용하여 애플리케이션의 일부 속성을 구성 할 수 있습니다.

에서 Application Configuration문서 :

응용 프로그램 구성 개체는 응용 프로그램의 메타 데이터를 저장합니다. 일부 속성은 AppConfig 서브 클래스에서 구성 할 수 있습니다. 다른 것은 Django에 의해 설정되고 읽기 전용입니다.

문서의:

이라는 플러그인 가능한 앱을 만들고 "Rock ’n’ roll"관리자에게 적절한 이름을 제공하기 위해 다음을 수행 할 수 있습니다.

에서 rock_n_roll응용 프로그램, 우리는 만들 RockNRollConfigappconfig가 클래스를.

#rock_n_roll/apps.py
from django.apps import AppConfig

class RockNRollConfig(AppConfig): # Our app config class
    name = 'rock_n_roll'
    verbose_name = "Rock ’n’ roll"

파일 에서 AppConfig를 지정하여 기본적으로 애플리케이션이이 서브 클래스를 로드하도록 할 수 있습니다 .default_app_configrock_n_roll/__init__.py

# rock_n_roll/__init__.py    
default_app_config = 'rock_n_roll.apps.RockNRollConfig'

이렇게하면 포함 만 RockNRollConfig있을 때 사용됩니다 . 이를 통해 사용자가 설정 을 업데이트하지 않고도 기능을 사용할 수 있습니다 .INSTALLED_APPS'rock_n_roll'AppConfigINSTALLED_APPS


답변

응용 프로그램 구성 을 권장 합니다 . 이 기능은 1.7 이후로 사용되었지만 사용을 촉진하고보다 쉽게 ​​구성 할 수 있도록 apps.py파일이 기본 앱 템플릿에 추가되었습니다.


답변