问题
- 生产环境的配置与开发环境配置隔离开, 开发环境允许 Debugging
- 敏感信息不提交到代码库中,比如数据库连接,secret key, LDAP连接信息等
- 生产、开发环境使用的配置可能不一样,比如 分别使用 MySQL/Sqlite 数据库
接入apollo也可以
调整工程结构
wangdalei/settings.py ---> settings/base_settings.py
wangdalei_dj/manage.py
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings.base_settings')
settings/base_settings.py 保存最基础的配置
DEBUG = True
ALLOWED_HOSTS = []
LDAP_AUTH_URL = "ldap://localhost:389"
LDAP_AUTH_CONNECTION_USERNAME = None
LDAP_AUTH_CONNECTION_PASSWORD = None
DATABASES = {
}
单独定义开发环境的配置 wangdalei_dj/settings/develop.py
from .base_settings import *
DEBUG = True
ALLOWED_HOSTS = ['172.31.7.188', '172.31.7.188:8000']
LDAP_AUTH_URL = "ldap://172.31.7.188:389"
LDAP_AUTH_CONNECTION_USERNAME = "admin"
LDAP_AUTH_CONNECTION_PASSWORD = "123456"
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'dj',
'USER': 'root',
'PASSWORD': 'rootroot',
'HOST': '127.0.0.1',
'PORT': '3306',
'charset': 'utf8mb4',
}
}
指定配置文件 启动server
python3 manage.py runserver 172.31.7.188:8000 --settings settings.develop
或者
export DJANGO_SETTINGS_MODULE=settings.develop
python3 manage.py runserver 172.31.7.188:8000