2017-01-30 1 views
0

django 프로젝트에서 앱을 등록하는 여러 가지 방법을 발견했습니다. 예를 들어, Catalog라는 앱이있는 경우 settings.py에서 앱 '카탈로그'의 이름이나 더 긴 이름 'catalog.apps.CatalogConfig'만 사용할 수 있습니다. 차이점은 무엇이며 앱을 등록하는 데 더 정확한 방법은 무엇입니까?Django에서 앱을 등록하는 올바른 방법

답변

1

당신 만 응용 프로그램의 이름에 대해 관심을 가져야 (응용 프로그램 사용자) :

INSTALLED_APPS = (
    ... 
    'rock_n_roll', 
    ... 
) 

응용 프로그램 작성자가 구성하고 자신의 앱 적절한 이름을 제공 AppConfig를 서브 클래스 때문입니다 : documentation에서

# rock_n_roll/apps.py 

from django.apps import AppConfig 

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

:

RockNRollConfigINSTALLED_APPS에는 rock_n_roll 만 있습니다. 이렇게하면 사용자가 설정을 업데이트하지 않아도 AppConfig 기능을 사용할 수 있습니다. 이 사용 사례 외에도 default_app_config을 사용하지 말고 다음에 설명 된대로 INSTALLED_APPS에 앱 구성 클래스를 지정하는 것이 가장 좋습니다.

AppConfig을 사용하는 이유는 무엇입니까?

장고 응용 프로그램은 프레임 워크의 다양한 부분과 상호 작용하는 코드 집합이라는 것을 이해하는 것이 중요합니다. Application 객체와 같은 것은 없습니다. 그러나 Django가 설치된 응용 프로그램과 상호 작용할 필요가있는 몇 가지 장소가 있습니다 (주로 구성 및 내부 검사 용). 이것이 응용 프로그램 레지스트리가 설치된 각 응용 프로그램의 AppConfig 인스턴스에 메타 데이터를 유지하는 이유입니다.

관련 문제