从子文件夹导入配置

时间:2011-11-02 17:34:43

标签: python django configuration

我正在尝试整理配置文件,我想将其拆分为几个可根据部署需求进行编辑的文件。

所以在我的项目中,我有一个名为config的子目录,其中包含一些特定的配置文件

我的“主要”配置文件(settings.py)位于我的项目目录中(models.py和manage.py所在的位置)。子配置文件位于“config”目录中:

ProjectName
  + config
      - common.py
      - specific.py
  - settings.py

这就是settings.py文件的样子:

appPath = "path/to/my/app"
configPath = "path/to/my/app/config"

folders = [os.path.dirname(appPath), os.path.dirname(configPath)]

for f in folders:
  if f not in sys.path:
    sys.path.insert(0, f)

from MyApp.config import common
from MyApp.config import specific

但是,这似乎没有设置我在common.py和specific.py文件中使用的任何设置。

我也尝试了以下内容:

from MyApp.config import common as django_settings

from MyApp.config.common import *

这些似乎都不起作用。

我的配置目录中有__init__.py

谢谢,

1 个答案:

答案 0 :(得分:1)

你应该能够做到

from config.common import *
from config.specific import *

你也不应该乱用Python路径,因为Django的manage.py脚本会将其目录及其父目录添加到路径中。