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

标签 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")

但我收到“空 key 错误”。因为 django 仍然尝试在 mainapp.settings (默认)中查找设置,并在空的 init.py 文件中查找...

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

最佳答案

您需要为您的网络服务器设置DJANGO_SETTINGS_MODULE环境变量。对于 apache,其形式为:

SetEnv DJANGO_SETTINGS_MODULE mainapp.settings.common

我已将其添加到我的虚拟主机配置中,效果很好

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

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

关于python - Django,更改settings.py的默认位置或使用其他文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23779714/

相关文章:

javascript - Django URL使用javascript获取客户端信息

python - 更新切片列表

javascript - 在 Django 上下文变量上使用 Javascript 搜索算法

python - 使用 Pinax 的最大好处是什么?

django - 使用Tag模型创建ManytoMany关系

python - 当数据库更改时,Heroku 部署的 Django 网页不会更新

python - 婴儿级 python : Classes, 和使用它们

python - AWS EC2 中的窃取时间太长

python - 更改 Pandas 列中的类别?

python - 更改一个字典会更改字典列表中的所有字典