My local machine is running with Python 2.5 and Nginx on Ubuntu 8.10, with Django builded from latest development trunk.
For every url I requested, it thrown out:
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',)
Is it looking for "/usr/lib/python2.5/site-packages/projectname/templates/appname/template_name.html" in this case? The weird thing is this file DOES existed on disk. Why it couldn't locate it?
I run the same application on a remote server with Python 2.6 on Ubuntu 9.04 without such problem. Other settings are the same.
Is there anything misconfigured on my local machine or what could possibly caused such errors that I should investigate into?
EDIT
In my settings.py, I have specified:
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'),
)
It shoule be looking for the following files
/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
...
All the above files are EXISTED on disk.
SOLVED
It works now after I tried "chown -R www-data:www-data /usr/lib/python2.5/site-packages/projectname/*"
It's strange. I dont need to do this on the remote server to make it work.