Mi máquina local ejecuta Python 2.5 y Nginx en Ubuntu 8.10, con Django integrado en el último tronco de desarrollo.Django TemplateDoesNotExist?
Por cada URL solicito, que arroja:
TemplateDoesNotExist at /appname/path appname/template_name.html Django tried loading these templates, in this order: * Using loader django.template.loaders.filesystem.function: * Using loader 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 SÍ existió en el disco. ¿Por qué Django no puede ubicarlo?
Ejecuto la misma aplicación en un servidor remoto con Python 2.6 en Ubuntu 9.04 sin tal problema. Otras configuraciones son iguales.
¿Hay algún error de configuración en mi máquina local, o qué podría haber causado tales errores que debo investigar?
En mi settings.py, he determinado:
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'),
)
Se shoule 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 existe en el disco.
RESUELTO
Funciona ahora después de que trató 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.
¿su TEMPLATE_DIRS es legible por el servidor web? –
@Jordan, TEMPLATE_DIRS accesible por root es suficiente. Es lo que está configurado en el servidor remoto que está funcionando. – jack