Django设置模块和相对路径

时间:2014-02-10 04:35:51

标签: python django

以下是我的目录结构的一部分。我将设置保存在一个单独的文件夹中,以使它们与生产和开发保持不同。

DjangoApp
  templates/
    base.html
  OtherApp/
  DjangoApp/
   manage.py
   __init__.py
   settings/
    __init__.py
    base.py
    local.py
    test.py
    production.py

以下是我的base.py设置文件中的模板设置。

import os
PROJECT_PATH = os.path.abspath(os.path.dirname(__file__))
TEMPLATE_DIRS = (
  os.path.join(PROJECT_PATH, 'templates'),
)

它搜索settings文件夹中的templates目录。如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

三次致电dirname

import os
dirname = os.path.dirname
PROJECT_PATH = dirname(dirname(dirname(os.path.abspath(__file__))))
TEMPLATE_DIRS = (
  os.path.join(PROJECT_PATH, 'templates'),
)

  • dirname(...)../DjangoApp/DjangoApp/settings
  • dirname(dirname(...))../DjangoApp/DjangoApp
  • dirname(dirname(dirname(...)))../DjangoApp