Django Docker的部署时如何设置环境

1. 背景

在部署时,程序需要根据当前环境,设置不同参数,比如数据库,DEBUG是否打开等。


2. 实现方式

在构建Docker的时候设置环境变量:

1
2
3
4
5
RUN python manage.py collectstatic

ENV DJANGO_DEBUG_FALSE=1
ENV DJANGO_SECRET_KEY=sekrit
ENV DJANGO_ALLOWED_HOST=localhost

superlists/settings.py中添加判断:

1
2
3
4
5
6
7
8
9
10
import os
[...]
if "DJANGO_DEBUG_FALSE" in os.environ:
DEBUG = False
SECRET_KEY = os.environ["DJANGO_SECRET_KEY"]
ALLOWED_HOSTS = [os.environ["DJANGO_ALLOWED_HOST"]]
else:
DEBUG = True
SECRET_KEY = "insecure-key-for-dev"
ALLOWED_HOSTS = []

请我喝杯咖啡吧~

支付宝
微信