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


답변:


136

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


슬프게도 나는 당신의 대답을 얻지 못했습니다
hspandher

2
without requiring our users to update their INSTALLED_APPS setting.: 이것이 의미하는 바 : 기본적으로 내가하지 않으면 default_app_config = 'rock_n_roll.apps.RockNRollConfig'INSTALLED_APPS에서 언급해야합니다default_app_config = 'rock_n_roll.apps.RockNRollConfig'
Santhosh Yedidi

15

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

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