2013-07-29 2 views
9

외부 앱의 템플릿 (사이트 패키지에 설치된 allauth)을 덮어 쓰려고합니다. 불행히도 제가 읽은 충고는 효과가 없습니다.Django에서 외부 앱의 템플릿을 덮어 쓰기

PROJECT_ROOT = os.path.normpath(os.path.dirname(os.path.abspath(__file__))) 
TEMPLATE_DIRS = (os.path.join(PROJECT_ROOT, 'templates', 'allauth')) 

my_project_dir/templates/allauth 모든 템플릿 (this content를) 복사 : 나는 내 settings.py에 다음을 추가했다. 그러나 서버를 다시 시작하고 페이지를 다시로드하면 사이트 패키지의 원본 allauth 응용 프로그램에서 렌더링 된 템플릿 만 얻습니다. 사용자 지정 템플릿이 아닙니다. 어떤 힌트?

답변

7

나는 (DEBUGTrue으로 설정하여) 무슨 일이 일어나는지 알아내는 경향이 있는데,보기가 존재하지 않는 템플릿을 렌더링하고, 장고가 템플릿을로드하려고 시도한 위치 목록을 보게하는 것입니다. 오류 페이지 출력에 포함됩니다).

렌더링을 시도하는 템플릿은 무엇입니까? allauth/foo.html을 렌더링하려는 경우 my_project_dir/templates/allauth이 아닌 TEMPLATE_DIRS 설정에 my_project_dir/templates을 추가해야합니다.

27

INSTALLED_APPS 주문을 확인하면 일치하는 첫 번째 템플릿이 렌더링됩니다.

이 점을 염두에두고 템플릿을 사용자 정의 앱의 동일한 경로 아래에 추가 할 수 있습니다.

관련 문제