최근에 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있습니까? 또는 원하는 명령을 수행하십시오