Django,更改settings.py的默认位置或使用其他文件

时间:2014-05-21 09:51:38

标签: python django

我正在尝试在我的django应用中为settings.py设置一个新结构。 (Django 1.7b4 - python 3.3.2)

- manage.py
- mainapp
  -- wsgi.py
  -- urls.py
  -- settings
     --- __init__.py
     --- common.py
     --- development.py
     --- production.py

我已将manage.py和wsgi.py更改为

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mainapp.settings.common")

但我得到了一个空密钥错误'。因为django仍然试图在mainapp.settings中找到设置(这是默认设置)并查看空的 init .py文件......

在我的mac os终端中,我检查并更改了DJANGO_SETTINGS_MODULE环境变量......但没有任何变化。 Django总是在默认位置搜索。

1 个答案:

答案 0 :(得分:1)

您需要为Web服务器设置DJANGO_SETTINGS_MODULE环境变量。在apache的情况下,采用以下形式:

SetEnv DJANGO_SETTINGS_MODULE mainapp.settings.common

我已经在我的虚拟主机配置中添加了它,它运行良好

如果您使用的是开发服务器(runserver),则可以指定自定义设置模块:

python manage.py runserver --settings=mainapp.settings.common