Я нещодавно оновив Django з версії 1.3 до версії 1.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
? Або будь-яку команду, яку ви хочете