在进行Django 开发时,我倾向于使用SQLite,但是在实时服务器上,通常需要更强大的功能(例如MySQL / PostgreSQL)。同样,对Django设置也有其他更改:不同的日志记录位置/强度,媒体路径等。
你如何管理所有这些更改,以使部署变得简单,自动化?
如果你希望手动进行操作,则我先前的答案仍然适用:
我有多个设置文件。
settings_local.py
settings_development.py
DEBUG = True
settings_production.py
SERVER_EMAIL
我将所有这些与一个settings.py首先导入的文件捆绑在一起settings_local.py,然后再将另外两个文件之一捆绑在一起。它决定它通过两个设置加载内settings_local.py- DEVELOPMENT_HOSTS和PRODUCTION_HOSTS。 settings.py调用platform.node()以查找正在其上运行的计算机的主机名,然后在列表中查找该主机名,并根据找到该主机名的列表加载第二个设置文件。
settings.py
settings_local.py- DEVELOPMENT_HOSTS和PRODUCTION_HOSTS
platform.node()
这样,你真正需要担心的唯一事情就是使settings_local.py文件与主机特定的配置保持最新,并且其他所有内容都会自动处理。