2013-08-10 3 views
0

나는 Django을 배우고 있으며 모든 것을 Cloud9으로 옮겼습니다. Cloud9에서 내 템플릿을 가리키는 방법을 이해할 수 없습니까?Django 템플릿 위치와 Cloud9

내 로컬 컴퓨터에서 템플릿 디렉토리가 /home/user/etc/etc/templates으로 설정되어있어 제대로 작동합니다. Cloud9에 넣을 때 경로가 무엇인지 파악할 수없는 것 같습니다.

+0

내 대답을 찾았습니다. cloud9의 계층 구조가 /project/project/templates/template.html이라면 설정의 경로는 project/templates입니다. 프로젝트 전에 슬래시를 추가했습니다. – user2670703

답변

2

다른 PC 나 환경에서 작업 할 수 있기 때문에 프로젝트에서 절대 경로와 하드 코드 된 경로를 사용하는 것은 좋지 않습니다. 따라서 settings.py 파일에 따라 프로젝트 경로를 정의 할 수 있습니다. settings.py의 시작이 어딘가에 배치 :

import os 

PROJECT_DIR = os.path.dirname(os.path.realpath(__file__)) 

을 이제 당신은 모든 PC와 모든 ENV에 장고 프로젝트 위치를 가리 킵니다 변수 PROJECT_DIR 있습니다. 그리고 지금,이 같은 템플릿 DIRS 또는 정적 파일 DIRS에서 프로젝트에 사용할 수 있습니다 :

# Like this 
TEMPLATE_DIRS = (
    os.path.join(PROJECT_DIR, 'templates'), 
) 

# Or like this, pointing to one dir UP 
TEMPLATE_DIRS += (
    os.path.join(PROJECT_DIR, '../templates'), 
) 

을 또한 설정이 (가) 포함이 행을 파일 경우 :

TEMPLATE_LOADERS = (
    'django.template.loaders.app_directories.Loader', 
) 

장고 응용 프로그램보기 자동 것이다 당신의 응용 프로그램에서 템플릿을 찾으십시오 templates dir. 예를 들어

-apps 
    -main_app 
     -templates 
    -blog_app 
     -templates 

템플릿 패키지 경로를 templates_path에 추가하지 않고 main_app 및 blog 앱 템플릿 디렉토리가 자동 검색됩니다.