728x90
반응형
Django 1.4 에서 가장 큰 변화라면, 전체 어플리케이션의 레이아웃이 바뀌었다는 점이다.
이전 버전에서는 프로젝트를 생성하면 아래와 같이 파일들이 생성되었다.
project_name/ `- __init__.py `- manage.py `- settings.py `- urls.py `- wsgi.py
1.4에서는 이렇게 바뀌었다.
project_name/ `- manage.py `- project_name/ `- __init__.py `- settings.py `- urls.py `- wsgi.py
여기에서 주의 깊게 볼 것은 상위에 있는 project_name 디렉토리에는 __init__.py 파일이 없기 때문에 패키지명으로 사용할 수 없다는 것과 settings.py 에서 템플릿 디렉토리를 지정할 때 주의해야 한다는 것이다. 템플릿 디렉토리를 절대경로로 하는 경우에는 상관 없지만, 보통(?) settings.py 를 기준으로 상대경로를 지정하는 경우가 많이 있다.
1.4 이전에는 다음과 같이 하면 문제 없었다.
import os.path TEMPLATE_DIRS = ( os.path.join(os.path.dirname(__file__), 'templates'), )
그러나, 1.4 에서는 settings.py 의 위치가 한단계 밑으로 내려갔기 때문에, 좀 더 복잡해지긴 했지만, 아래와 같은 방법으로 설정해주어야 한다.
import os SETTINGS_DIR = os.path.abspath(os.path.dirname(__file__)) (SITE_ROOT, dummy) = os.path.split(SETTINGS_DIR) TEMPLATE_DIRS = ( os.path.join(SITE_ROOT, 'templates'), )
728x90
반응형
'Programming > Python' 카테고리의 다른 글
(Django) '쉽고 빠른 웹개발 Django' 버전 1.4 이상에서 진도나가기 (0) | 2012.12.20 |
---|---|
Python : 이미지 파일 일괄 자르기 (0) | 2012.11.28 |
Django 마이그레이션 1.3.1 -> 1.4 (0) | 2012.03.27 |
FreeBSD 9.0 에서 pysqlite 설치 (0) | 2012.02.15 |
(Django) Debian/Ubuntu + NginX + trunserver + Django 1.3.1 + Python 2.7.2 (0) | 2011.12.20 |