내 로컬 머신은 Ubuntu 8.10에서 Python 2.5 및 Nginx를 실행 중이며 최신 개발 트렁크에서 Django가 빌드되었습니다.
내가 요청하는 모든 URL에 대해 다음을 throw합니다.
/ appname / path appname / template_name.html의 TemplateDoesNotExist
Django는 다음 순서로 이러한 템플릿을로드하려고 시도했습니다. * 로더 django.template.loaders.filesystem.function 사용 : * 로더 django.template.loaders.app_directories.function 사용 :
TEMPLATE_DIRS ( '/usr/lib/python2.5/site-packages/projectname/templates',)
이 경우 /usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html 을 찾고 있습니까? 이상한 것은이 파일이 디스크에 존재한다는 것입니다. Django가 왜 그것을 찾을 수 없습니까?
그런 문제없이 Ubuntu 9.04에서 Python 2.6을 사용하여 원격 서버에서 동일한 응용 프로그램을 실행합니다. 다른 설정은 동일합니다.
로컬 컴퓨터에 잘못 구성된 것이 있습니까? 아니면 내가 조사해야 할 오류를 일으킬 수있는 것은 무엇입니까?
내에서 settings.py , 내가 지정한 :
SETTINGS_PATH = os.path.normpath(os.path.dirname(__file__))
# Find templates in the same folder as settings.py.
TEMPLATE_DIRS = (
os.path.join(SETTINGS_PATH, 'templates'),
)
다음 파일을 찾아야합니다.
- /usr/lib/python2.5/site-packages/projectname/templates/appname1/template1.html
- /usr/lib/python2.5/site-packages/projectname/templates/appname1/template2.html
- /usr/lib/python2.5/site-packages/projectname/templates/appname2/template3.html
- ...
위의 모든 파일은 디스크에 존재합니다.
해결
내가 시도한 후에 지금 작동합니다.
chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/*
이상하다. 원격 서버 에서이 작업을 수행 할 필요가 없습니다.