# .env
DEBUG= False
SECRET_KEY= foo
ALLOWED_HOSTS= *
# settings.py
import environ
BASE_DIR = Path( __file__) .resolve ( ) .parent .parent
env = environ.Env (
DEBUG= ( bool , False ) ,
ALLOWED_HOSTS= ( list , [ ] ) ,
)
environ.Env .read_env ( BASE_DIR.joinpath ( '.env' ) )
SECRET_KEY = env( 'SECRET_KEY' )
DEBUG = env( 'DEBUG' )
ALLOWED_HOSTS = env.list ( 'ALLOWED_HOSTS' )
# Dockerfile
FROM python:3
WORKDIR /usr/src/app
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
RUN pip install --upgrade pip
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
RUN chmod +x entrypoint.sh
ENTRYPOINT [ "/usr/src/app/entrypoint.sh" ]
# entrypoint.sh
#! /bin/bash
python manage.py makemigrations --noinput
python manage.py migrate --noinput
python manage.py collectstatic --noinput
python manage.py runserver 9000
# docker-compose.yml
version: '3'
services:
web:
build:
context: ./
dockerfile: Dockerfile
volumes:
- ./:/usr/src/app
ports:
- "9000:9000"
env_file:
- ./.env
IyAuZW52CkRFQlVHPUZhbHNlClNFQ1JFVF9LRVk9Zm9vCkFMTE9XRURfSE9TVFM9KgoKCiMgc2V0dGluZ3MucHkKaW1wb3J0IGVudmlyb24KCkJBU0VfRElSID0gUGF0aChfX2ZpbGVfXykucmVzb2x2ZSgpLnBhcmVudC5wYXJlbnQKZW52ID0gZW52aXJvbi5FbnYoCiAgICBERUJVRz0oYm9vbCwgRmFsc2UpLAogICAgQUxMT1dFRF9IT1NUUz0obGlzdCwgW10pLAopCmVudmlyb24uRW52LnJlYWRfZW52KEJBU0VfRElSLmpvaW5wYXRoKCcuZW52JykpCgpTRUNSRVRfS0VZID0gZW52KCdTRUNSRVRfS0VZJykKREVCVUcgPSBlbnYoJ0RFQlVHJykKQUxMT1dFRF9IT1NUUyA9IGVudi5saXN0KCdBTExPV0VEX0hPU1RTJykKCgojIERvY2tlcmZpbGUKRlJPTSBweXRob246MwoKV09SS0RJUiAvdXNyL3NyYy9hcHAKCkVOViBQWVRIT05ET05UV1JJVEVCWVRFQ09ERSAxCkVOViBQWVRIT05VTkJVRkZFUkVEIDEKClJVTiBwaXAgaW5zdGFsbCAtLXVwZ3JhZGUgcGlwCkNPUFkgcmVxdWlyZW1lbnRzLnR4dCAuClJVTiBwaXAgaW5zdGFsbCAtLW5vLWNhY2hlLWRpciAtciByZXF1aXJlbWVudHMudHh0CgpDT1BZIC4gLgoKUlVOIGNobW9kICt4IGVudHJ5cG9pbnQuc2gKRU5UUllQT0lOVCBbIi91c3Ivc3JjL2FwcC9lbnRyeXBvaW50LnNoIl0KCgojIGVudHJ5cG9pbnQuc2gKIyEgL2Jpbi9iYXNoCnB5dGhvbiBtYW5hZ2UucHkgbWFrZW1pZ3JhdGlvbnMgLS1ub2lucHV0CnB5dGhvbiBtYW5hZ2UucHkgbWlncmF0ZSAtLW5vaW5wdXQKcHl0aG9uIG1hbmFnZS5weSBjb2xsZWN0c3RhdGljIC0tbm9pbnB1dApweXRob24gbWFuYWdlLnB5IHJ1bnNlcnZlciA5MDAwCgoKIyBkb2NrZXItY29tcG9zZS55bWwKdmVyc2lvbjogJzMnCnNlcnZpY2VzOgogIHdlYjoKICAgIGJ1aWxkOgogICAgICBjb250ZXh0OiAuLwogICAgICBkb2NrZXJmaWxlOiBEb2NrZXJmaWxlCiAgICB2b2x1bWVzOgogICAgICAtIC4vOi91c3Ivc3JjL2FwcAogICAgcG9ydHM6CiAgICAgIC0gIjkwMDA6OTAwMCIKICAgIGVudl9maWxlOgogICAgICAtIC4vLmVudg==
compilation info
Traceback (most recent call last):
File "/usr/lib/python3.7/py_compile.py", line 143, in compile
_optimize=optimize)
File "<frozen importlib._bootstrap_external>", line 791, in source_to_code
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "./prog.py", line 4
ALLOWED_HOSTS=*
^
SyntaxError: invalid syntax
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python3.7/py_compile.py", line 147, in compile
raise py_exc
py_compile.PyCompileError: File "./prog.py", line 4
ALLOWED_HOSTS=*
^
SyntaxError: invalid syntax
stdout