最佳答案
我最近把Django从v1.3.1升级到了v1.4。
在我的旧settings.py我有
TEMPLATE_DIRS = (
os.path.join(os.path.dirname( __file__ ), 'templates').replace('\\', '/'),
# Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
# Always use forward slashes, even on Windows.
# Don't forget to use absolute paths, not relative paths.
)
这将指向/Users/hobbes3/Sites/mysite/templates,但是因为Django v1.4将project文件夹移到了app文件夹的同一层,我的settings.py文件现在在/Users/hobbes3/Sites/mysite/mysite/而不是/Users/hobbes3/Sites/mysite/。
所以实际上我的问题是双重的
os.path来查看从__file__上一级的目录。换句话说,我希望/Users/hobbes3/Sites/mysite/mysite/settings.py使用相对路径找到/Users/hobbes3/Sites/mysite/templates。template文件夹(其中有跨应用程序模板,如admin, registration等)在项目/User/hobbes3/Sites/mysite级别或/User/hobbes3/Sites/mysite/mysite?