我最近将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将项目文件夹移到了与应用程序文件夹相同的级别,所以我的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?
settings.py在多个服务器中使用了相同的路径。唯一的区别可能是数据库凭据。我正在阅读os.path文档,但是找不到让您进入一个目录的命令。像cd ..。
os.path.join( os.path.dirname( __file__ ), '..' ) ..指上面的目录整个文件系统,当传递给不只是cd。
os.path.join( os.path.dirname ( __file__), os.path.pardir)
os到cd到../mysite?或您想要的任何命令