최근에 Django를 v1.3.1에서 v1.4로 업그레이드했습니다.
내 옛날 settings.py
에는
TEMPLATE_DIRS = (
os.path.join(os.path.dirname( __file__ ), 'templates').replace('\\', '/'),
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
이 가리 킵니다 /Users/hobbes3/Sites/mysite/templates
만, 장고 V1.4는 응용 프로그램 폴더와 같은 수준으로 프로젝트 폴더를 이동하기 때문에 , 내 settings.py
파일에 지금 /Users/hobbes3/Sites/mysite/mysite/
대신 /Users/hobbes3/Sites/mysite/
.
실제로 내 질문은 이제 두 가지입니다.
- 어떻게 사용합니까
os.path
에서 위의 디렉토리 한 수준에서보고__file__
. 즉, 상대 경로를 사용하여/Users/hobbes3/Sites/mysite/mysite/settings.py
찾고 싶습니다/Users/hobbes3/Sites/mysite/templates
. - 나는 유지되어야한다
template
(교차 응용 프로그램 템플릿 같은이 폴더admin
,registration
프로젝트에서, 등)/User/hobbes3/Sites/mysite
수준 또는에서를/User/hobbes3/Sites/mysite/mysite
?
settings.py
여러 서버 에서 동일하게 사용하기 때문에 경로 하드 코딩을 피하려고 합니다. 유일한 차이점은 데이터베이스 신임 정보 일 수 있습니다. 나는 os.path
문서를 읽고 있었지만 한 디렉토리 위로 올라갈 수있는 명령을 찾을 수 없었습니다. 처럼 cd ..
.
os.path.join( os.path.dirname( __file__ ), '..' )
..
의미 할 수 있습니다 . cd
os.path.join( os.path.dirname ( __file__), os.path.pardir)
os
할cd
수../mysite
있습니까? 또는 원하는 명령을 수행하십시오