>

로컬 머신이 Ubuntu 8.10에서 Python 2.5 및 Nginx를 실행하고 있으며 Django는 최신 개발 트렁크에서 빌드되었습니다.

내가 요청한 모든 URL에 대해 다음을 던집니다.

TemplateDoesNotExist at /appname /path appname /template_name.html

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가 찾을 수없는 이유는 무엇입니까?

우분투 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/*

이상합니다. 원격 서버에서이 작업을 수행 할 필요가 없습니다.

웹 서버가 TEMPLATE_DIRS를 읽을 수 있습니까?

Jordan Messina2021-03-31 10:14:58

@Jordan, 루트로 액세스 할 수있는 TEMPLATE_DIRS이면 충분합니다. 작동하는 원격 서버에 구성된 것입니다.

jack2021-03-31 10:14:58
  • 이전 css - 높이를 지정하지 않고 두 요소를 서로의 위에 배치하는 방법은 무엇입니까?
  • 다음 java - LinearLayout을 코드의 요소 위치를 제한하지 않는 레이아웃으로 바꾸는 방법은 무엇입니까?