Django + WSGI:什么时候调用wsgi.py?

时间:2017-12-07 10:17:39

标签: python django apache settings mod-wsgi

我在服务器上通过Apache2部署了我的Django项目。

我遇到的问题是我有两个设置模块:settings.py是我的本地开发设置,settingsprod.py是我的高效设置。

我在WSGI.py中找到了以下行:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settings")

仅在使用WSGI时调用此模块吗?如果是,这是一个使用我的生产设置的好地方吗?

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settingsprod")

对于本地开发,我使用开发服务器,如下所示:

python3 manage.py runserver

这仍然默认为settings.py吗?

1 个答案:

答案 0 :(得分:2)

是的,您的设置按预期工作。虽然如果你使用像芹菜这样的额外工具,你可能还需要为这些设置指定settingsprod

我处理这种情况的方式恰恰相反:我使用settings.py作为我的生产设置,并且还有一个settings_development.py用于所有开发任务。这样我就不必记住在所有生产相关文件中设置生产设置,而只需使用开发设置进行开发,如下所示:

python3 manage.py runserver --settings=proj.settings_development

如果您经常使用manage.py命令并希望节省一些时间输入,则可以复制manage.py,例如如manage_dev.py并更改设置模块行,如下所示:

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "proj.settings_development")

然后使用以下命令调用您的管理功能

python3 manage_dev.py runserver