我正在尝试在我的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总是在默认位置搜索。
答案 0 :(得分:1)
您需要为Web服务器设置DJANGO_SETTINGS_MODULE
环境变量。在apache的情况下,采用以下形式:
SetEnv DJANGO_SETTINGS_MODULE mainapp.settings.common
我已经在我的虚拟主机配置中添加了它,它运行良好
如果您使用的是开发服务器(runserver),则可以指定自定义设置模块:
python manage.py runserver --settings=mainapp.settings.common