Saya baru-baru ini meningkatkan Django dari v1.3.1 ke v1.4.
Di masa lalu settings.py
saya miliki
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.
)
Ini akan menunjuk ke /Users/hobbes3/Sites/mysite/templates
, tetapi karena Django v1.4 memindahkan folder proyek ke tingkat yang sama dengan folder aplikasi , settings.py
file saya sekarang di /Users/hobbes3/Sites/mysite/mysite/
bukan /Users/hobbes3/Sites/mysite/
.
Jadi sebenarnya pertanyaan saya sekarang ada dua:
- Bagaimana cara saya
os.path
melihat direktori satu tingkat di atas__file__
. Dengan kata lain, saya ingin/Users/hobbes3/Sites/mysite/mysite/settings.py
mencari/Users/hobbes3/Sites/mysite/templates
menggunakan jalur relatif. - Haruskah saya menjaga
template
folder (yang memiliki cross-aplikasi template, sepertiadmin
,registration
, dll) di proyek/User/hobbes3/Sites/mysite
tingkat atau/User/hobbes3/Sites/mysite/mysite
?
settings.py
di beberapa server. Satu-satunya perbedaan mungkin adalah kredensial basis data. Saya membaca os.path
dokumentasi tetapi saya tidak dapat menemukan perintah yang memungkinkan Anda naik satu direktori. Seperti cd ..
.
os.path.join( os.path.dirname( __file__ ), '..' )
..
berarti direktori di atas di seluruh sistem file, bukan hanya ketika diteruskan ke cd
.
os.path.join( os.path.dirname ( __file__), os.path.pardir)
os
untukcd
ke../mysite
? Atau perintah apa pun yang Anda inginkan