Gần đây tôi đã nâng cấp Django từ v1.3.1 lên v1.4.
settings.pyTô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.pytệ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.pytìm/Users/hobbes3/Sites/mysite/templatesbằng cách sử dụng các đường dẫn tương đối. - Tôi có nên giữ
templatethư mục (trong đó có các mẫu cross-ứng dụng, nhưadmin,registration, vv) tại dự án/User/hobbes3/Sites/mysitecấp hoặc tại/User/hobbes3/Sites/mysite/mysite?
settings.pytrong 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.pathtà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