Django,改变settings.py的默认位置或使用其他文件
我正在尝试为我的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 个回答
3
你需要为你的网页服务器设置一个叫做 DJANGO_SETTINGS_MODULE
的环境变量。对于apache服务器来说,这个设置的方式是:
SetEnv DJANGO_SETTINGS_MODULE mainapp.settings.common
我已经把这个加到我的虚拟主机配置里,效果很好。
如果你使用的是开发服务器(runserver),你可以指定一个自定义的设置模块:
python manage.py runserver --settings=mainapp.settings.common