Gần đây tôi đã nâng cấp Django từ v1.3.1 lên v1.4.
settings.py
Tôi già
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.
)
Điều này sẽ trỏ đến /Users/hobbes3/Sites/mysite/templates
, nhưng vì Django v1.4 đã chuyển thư mục dự án về cùng cấp với các thư mục ứng dụng , nên settings.py
tệp của tôi hiện đang ở /Users/hobbes3/Sites/mysite/mysite/
thay vì /Users/hobbes3/Sites/mysite/
.
Vì vậy, thực sự câu hỏi của tôi bây giờ có hai mặt:
- Làm thế nào để tôi sử dụng
os.path
để xem một thư mục một cấp trên__file__
. Nói cách khác, tôi muốn/Users/hobbes3/Sites/mysite/mysite/settings.py
tìm/Users/hobbes3/Sites/mysite/templates
bằng cách sử dụng các đường dẫn tương đối. - Tôi có nên giữ
template
thư mục (trong đó có các mẫu cross-ứng dụng, nhưadmin
,registration
, vv) tại dự án/User/hobbes3/Sites/mysite
cấp hoặc tại/User/hobbes3/Sites/mysite/mysite
?
settings.py
trong nhiều máy chủ. Sự khác biệt duy nhất có thể là thông tin cơ sở dữ liệu. Tôi đã đọc os.path
tài liệu nhưng tôi không thể tìm thấy một lệnh cho phép bạn đi lên một thư mục. Thích cd ..
.
os.path.join( os.path.dirname( __file__ ), '..' )
..
nghĩa là thư mục ở trên trong toàn bộ hệ thống tập tin, không chỉ khi được chuyển đến cd
.
os.path.join( os.path.dirname ( __file__), os.path.pardir)
os
đếncd
để../mysite
? Hoặc bất cứ lệnh nào bạn muốn