¡Esta es una revisión vieja del documento!
poetry init
poetry add django
poetry run django-admin startproject {project}
- fix directory generation -
touch README.md
- copy the .gitignore -
git init
git add -A
git commit -m "first commit"
git remote add origin {url}
git push -u origin master
- move settings to an inner package, renaming the file to 'default.py' -
- Add a develop.py file -
- In settings\__init__.py and in settings\develop.py add the line: from .default import * a
- Change BASE_DIR like this: BASE_DIR = Path(__file__).resolve().parent.parent.parent
- Change: ALLOWED_HOSTS = ['0.0.0.0']
poetry add whitenoise
- Configure whitenoise
poetry env list --full-path
- Change the config for running in that path: manage.py runserver 0.0.0.0:8000 --nostatic . Also add the DJANGO_SETTINGS_MODULE envvar as {project}.settings.develop
poetry add psycopg2-binary
poetry add gunicorn
mkdir docker
- Add the docker files
- Change the database configuration:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': '{project name}',
'USER': 'postgres',
'PASSWORD': 'mysecretpassword',
'HOST': os.environ.get('DB_HOST', '127.0.0.1'),
'TEST': {
'NAME': '{project_name_test}',
}
}
}
*.pyc .DS_Store env venv .idea/** node_modules *.sqlite3 *.pyc **/__pycache__/* **/.sass-cache/* **/.env **/elm-stuff/**
strit/migrations/** !strit/migrations/__init__.py strit/settings/** !strit/settings/default.py !strit/settings/__init__.py daauth /daauth/
FROM python:3.9-alpine ENV PYTHONUNBUFFERED 1 ARG http_proxy ENV https_proxy=$http_proxy ENV http_proxy=$http_proxy ENV HTTP_PROXY=$http_proxy ENV HTTPS_PROXY=$http_proxy RUN apk update RUN apk add --no-cache python3-dev libffi-dev postgresql-libs postgresql-dev build-base cairo cairo-dev pango pango-dev fontconfig ttf-dejavu ttf-freefont RUN apk add --virtual build-deps gcc python3-dev musl-dev RUN apk add jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-dev tk-dev tcl-dev py-pillow RUN apk add git RUN mkdir -p /srv/app WORKDIR /srv RUN pip install --upgrade pip RUN pip install poetry COPY pyproject.toml /srv/pyproject.toml COPY poetry.lock /srv/poetry.lock RUN poetry install CMD poetry run gunicorn strit.wsgi --bind 0.0.0.0:8000
version: "3.3"
services:
postgres12:
container_name: postgres12
image: postgres:12
volumes:
- /srv/data/pg12:/var/lib/postgresql/data/
environment:
- POSTGRES_PASSWORD=mysecretpassword
ports:
- 5432:5432
{project}:
build:
context: ..
dockerfile: docker/app.Dockerfile
ports:
- 8000:8000
container_name: {project}
depends_on:
- postgres12
environment:
- DB_HOST=postgres12
volumes:
- ..:/srv
command: poetry run gunicorn {project}.wsgi --bind 0.0.0.0:8000