在multiple articles around网络之后,我将Django 1.11 settings.py
文件拆分为多个文件,base.py
,local.py
,staging.py
,production.py
,放在settings
文件夹中。
Django应用程序在Docker容器中运行。
docker-compose.yml :
django:
build:
context: .
env_file: .env
command: ["/wait-for-it.sh", "mariadb:3306", "--", "/gunicorn.sh"]
在Dockerfile
中,我将DJANGO_SETTINGS_MODULE
导出为local
设置文件(依次导入base.py
设置文件)。
Dockerfile :
FROM python:3.6.4
RUN mkdir /app
ADD requirements/*.txt app/requirements/
RUN pip install -r mira/requirements/dev.txt
ADD . /app
RUN export DJANGO_SETTINGS_MODULE=app.settings.local
RUN export DJANGO_SECRET_KEY=dummy-secret-key
COPY ./docker/web/entrypoint.sh ./docker/web/gunicorn.sh ./docker/web/wait-for-it.sh ./docker/web/logging.conf ./scripts/setup.sh /
RUN chmod +x /entrypoint.sh /gunicorn.sh /wait-for-it.sh /setup.sh
WORKDIR ./app
settings / base.py :
SECRET_KEY = os.environ['DJANGO_SECRET_KEY']
.env :
DJANGO_SECRET_KEY=FOOBAR
当我尝试打开容器时,出现此错误:
SECRET_KEY设置不能为空。