19.生产环境与开发环境配置分离

110 阅读1分钟

问题

  • 生产环境的配置与开发环境配置隔离开, 开发环境允许 Debugging
  • 敏感信息不提交到代码库中,比如数据库连接,secret key, LDAP连接信息等
  • 生产、开发环境使用的配置可能不一样,比如 分别使用 MySQL/Sqlite 数据库

接入apollo也可以

调整工程结构

wangdalei/settings.py ---> settings/base_settings.py

image.png

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 

image.png