2011-04-07 6 views
3

Django의 "로컬"구성 (정적 인 로컬 경로, 절대적이어야하는 템플릿 내용, 로컬 DB 정보 등)을 분리 할 수 ​​있는지 궁금합니다. .) 전역 설정 (URL, 미들웨어 클래스, 설치된 앱 등 ...)에서 여러 사람이 커밋이 완료 될 때마다 로컬 설정을 다시 작성하지 않고도 Git이나 SVN을 통해 같은 프로젝트에서 작업 할 수 있습니다. !Django settings.py : 별도의 로컬 및 글로벌 구성

감사합니다.

+0

복제본 [장고에서 로컬 대 프로덕션 설정을 관리하는 방법] (http://stackoverflow.com/questions/1626326/how-to-manage-local-vs-production-settings-in-django) –

+0

또한 http://stackoverflow.com/questions/88259/how-do-you-configure-django-for-simple-development-anddeployment를 참조하십시오. –

답변

12

예 :

는 문서를 살펴 보자. settings.py 파일은 파이썬 일 뿐이므로 동적으로 설정하고 다른 파일을 가져 와서 무시할 수있는 모든 것을 할 수 있습니다.

여기에는 두 가지 접근 방법이 있습니다. 첫 번째 방법은 경로를 하드 코딩하지 않고 동적으로 계산하는 것입니다. 등 마법 파이썬 키워드 __file__

PROJECT_ROOT = os.path.abspath(os.path.dirname(__file__)) 
TEMPLATE_DIRS = [ 
    os.path.join(PROJECT_ROOT, "templates"), 
] 

는 현재 파일에 대한 경로를 제공합니다.

두 번째는 주요 settings.py의 에 가져 SVN의 외부 local_settings.py 파일을 가지고하는 것입니다 거기에 모든 설정을 무시합니다

try: 
    from local_settings import * 
except ImportError: 
    pass 

은 try/제외가 보장하는 것입니다 local_settings가없는 경우에도 여전히 작동합니다.

당연히 이러한 접근 방식을 조합 해 볼 수 있습니다.

0

구성을 여러 파일로 나눌 수 있습니다. 파이썬으로 작성되었으므로 import local_settings을 사용하여 다른 설정 파일의 설정을 가져 오기만하면 컨텍스트에 따라 로컬 설정을 가져 오기 위해 조건부로 가져 오기를 넣을 수도 있습니다. 확실히 http://docs.djangoproject.com/en/dev/topics/settings/

관련 문제