我通过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吗?
发布于 2017-12-07 10:25:49
是的,您的设置如预期的那样工作。虽然如果您使用像芹菜这样的额外工具,您也可能需要为这些设置指定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 runserverhttps://stackoverflow.com/questions/47692678
复制相似问题