Mi máquina local ejecuta Python 2.5 y Nginx en Ubuntu 8.10, con Django integrado desde el último tronco de desarrollo.
Por cada URL que solicito, arroja:
TemplateDoesNotExist en / appname / path appname / template_name.html
Django intentó cargar estas plantillas, en este orden: * Usando el cargador django.template.loaders.filesystem.function: * Usando el cargador django.template.loaders.app_directories.function:
TEMPLATE_DIRS ('/usr/lib/python2.5/site-packages/projectname/templates',)
¿Está buscando /usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html en este caso? Lo extraño es que este archivo existe en el disco. ¿Por qué Django no puede localizarlo?
Ejecuto la misma aplicación en un servidor remoto con Python 2.6 en Ubuntu 9.04 sin ese problema. Otras configuraciones son iguales.
¿Hay algo mal configurado en mi máquina local, o qué podría haber causado tales errores que debería investigar?
En mi settings.py , he especificado:
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'),
)
Debería estar buscando los siguientes archivos:
- /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
- ...
Todos los archivos anteriores existen en el disco.
Resuelto
Funciona ahora después de que lo intenté:
chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/*
Es extraño. No necesito hacer esto en el servidor remoto para que funcione.