Refactor settings

This commit is contained in:
Daniel Egger 2022-02-03 14:05:30 +01:00
parent 54c315dcd7
commit 1c340aace3
5 changed files with 29 additions and 81 deletions

View File

@ -37,6 +37,7 @@ RUN apt-get update && apt-get install --no-install-recommends -y \
COPY ./requirements .
# Create Python Dependency and Sub-Dependency Wheels.
# FIXME should we also use requirements-dev.txt in prod?
RUN pip wheel --wheel-dir /usr/src/app/wheels -r requirements-dev.txt

View File

@ -4,13 +4,13 @@ Base settings to build other settings files upon.
import logging
from pathlib import Path
import environ
import structlog
from environs import Env
ROOT_DIR = Path(__file__).resolve(strict=True).parent.parent.parent
# vbv_lernwelt/
APPS_DIR = ROOT_DIR / "vbv_lernwelt"
env = environ.Env()
env = Env()
READ_DOT_ENV_FILE = env.bool("VBV_DJANGO_READ_DOT_ENV_FILE", default=False)
if READ_DOT_ENV_FILE:
@ -42,7 +42,7 @@ LOCALE_PATHS = [str(ROOT_DIR / "locale")]
# DATABASES
# ------------------------------------------------------------------------------
# https://docs.djangoproject.com/en/dev/ref/settings/#databases
DATABASES = {"default": env.db_url("VBV_DATABASE_URL")}
DATABASES = {"default": env.dj_db_url("VBV_DATABASE_URL")}
DATABASES["default"]["ATOMIC_REQUESTS"] = True # noqa F405
DATABASES["default"]["CONN_MAX_AGE"] = env.int("CONN_MAX_AGE", default=60) # noqa F405
# https://docs.djangoproject.com/en/stable/ref/settings/#std:setting-DEFAULT_AUTO_FIELD
@ -188,10 +188,6 @@ TEMPLATES = [
# https://docs.djangoproject.com/en/dev/ref/settings/#form-renderer
FORM_RENDERER = "django.forms.renderers.TemplatesSetting"
# http://django-crispy-forms.readthedocs.io/en/latest/install.html#template-packs
CRISPY_TEMPLATE_PACK = "bootstrap5"
CRISPY_ALLOWED_TEMPLATE_PACKS = "bootstrap5"
# FIXTURES
# ------------------------------------------------------------------------------
# https://docs.djangoproject.com/en/dev/ref/settings/#fixture-dirs
@ -223,7 +219,7 @@ EMAIL_TIMEOUT = 5
# Django Admin URL.
ADMIN_URL = "admin/"
# https://docs.djangoproject.com/en/dev/ref/settings/#admins
ADMINS = [("""Daniel Egger""", "daniel.egger@iterativ.ch")]
ADMINS = [("""Daniel Egger""", "info@iterativ.ch")]
# https://docs.djangoproject.com/en/dev/ref/settings/#managers
MANAGERS = ADMINS

View File

@ -33,9 +33,7 @@ certifi==2021.10.8
# requests
# sentry-sdk
cffi==1.15.0
# via
# argon2-cffi-bindings
# cryptography
# via argon2-cffi-bindings
cfgv==3.3.1
# via pre-commit
charset-normalizer==2.0.11
@ -55,25 +53,19 @@ coverage==6.3.1
# via
# -r requirements-dev.in
# django-coverage-plugin
crispy-bootstrap5==0.6
# via -r requirements.in
cryptography==36.0.1
# via pyjwt
decorator==5.1.1
# via
# ipdb
# ipython
defusedxml==0.7.1
# via python3-openid
deprecated==1.2.13
# via redis
distlib==0.3.4
# via virtualenv
dj-database-url==0.5.0
# via -r requirements.in
django==3.2.12
# via
# -r requirements.in
# crispy-bootstrap5
# django-allauth
# django-cors-headers
# django-debug-toolbar
# django-extensions
@ -83,20 +75,12 @@ django==3.2.12
# django-stubs-ext
# djangorestframework
# drf-spectacular
django-allauth==0.47.0
# via -r requirements.in
django-cors-headers==3.11.0
# via -r requirements.in
django-coverage-plugin==2.0.2
# via -r requirements-dev.in
django-crispy-forms==1.14.0
# via
# -r requirements.in
# crispy-bootstrap5
django-debug-toolbar==3.2.4
# via -r requirements-dev.in
django-environ==0.8.1
# via -r requirements.in
django-extensions==3.1.5
# via -r requirements-dev.in
django-model-utils==4.2.0
@ -117,6 +101,8 @@ djangorestframework-stubs==1.4.0
# via -r requirements-dev.in
drf-spectacular==0.21.2
# via -r requirements.in
environs==9.5.0
# via -r requirements.in
executing==0.8.2
# via stack-data
factory-boy==3.2.1
@ -167,6 +153,8 @@ lazy-object-proxy==1.7.1
# via astroid
markupsafe==2.0.1
# via jinja2
marshmallow==3.14.1
# via environs
matplotlib-inline==0.1.3
# via ipython
mccabe==0.6.1
@ -184,8 +172,6 @@ mypy-extensions==0.4.3
# mypy
nodeenv==1.6.0
# via pre-commit
oauthlib==3.2.0
# via requests-oauthlib
packaging==21.3
# via
# pytest
@ -234,8 +220,6 @@ pyflakes==2.4.0
# via flake8
pygments==2.11.2
# via ipython
pyjwt[crypto]==2.3.0
# via django-allauth
pylint==2.12.2
# via
# pylint-django
@ -260,13 +244,13 @@ pytest-sugar==0.9.4
python-dateutil==2.8.2
# via faker
python-dotenv==0.19.2
# via uvicorn
# via
# environs
# uvicorn
python-json-logger==2.0.2
# via -r requirements.in
python-slugify==5.0.2
# via -r requirements.in
python3-openid==3.2.0
# via django-allauth
pytz==2021.3
# via
# -r requirements.in
@ -284,11 +268,7 @@ redis==4.1.2
requests==2.27.1
# via
# coreapi
# django-allauth
# djangorestframework-stubs
# requests-oauthlib
requests-oauthlib==1.3.1
# via django-allauth
sentry-sdk==1.5.4
# via -r requirements.in
six==1.16.0

View File

@ -6,11 +6,12 @@ whitenoise # https://github.com/evansd/whitenoise
redis # https://github.com/redis/redis-py
hiredis # https://github.com/redis/hiredis-py
uvicorn[standard] # https://github.com/encode/uvicorn
environs
dj-database-url
# Django
# ------------------------------------------------------------------------------
django<4 # https://www.djangoproject.com/
django-environ # https://github.com/joke2k/django-environ
django-model-utils # https://github.com/jazzband/django-model-utils
django-redis # https://github.com/jazzband/django-redis
# Django REST Framework

View File

@ -15,47 +15,27 @@ asgiref==3.5.0
attrs==21.4.0
# via jsonschema
certifi==2021.10.8
# via
# requests
# sentry-sdk
# via sentry-sdk
cffi==1.15.0
# via
# argon2-cffi-bindings
# cryptography
charset-normalizer==2.0.11
# via requests
# via argon2-cffi-bindings
click==8.0.3
# via uvicorn
concurrent-log-handler==0.9.19
# via -r requirements.in
crispy-bootstrap5==0.6
# via -r requirements.in
cryptography==36.0.1
# via pyjwt
defusedxml==0.7.1
# via python3-openid
deprecated==1.2.13
# via redis
dj-database-url==0.5.0
# via -r requirements.in
django==3.2.12
# via
# -r requirements.in
# crispy-bootstrap5
# django-allauth
# django-cors-headers
# django-model-utils
# django-redis
# djangorestframework
# drf-spectacular
django-allauth==0.47.0
# via -r requirements.in
django-cors-headers==3.11.0
# via -r requirements.in
django-crispy-forms==1.14.0
# via
# -r requirements.in
# crispy-bootstrap5
django-environ==0.8.1
# via -r requirements.in
django-model-utils==4.2.0
# via -r requirements.in
django-redis==5.2.0
@ -66,6 +46,8 @@ djangorestframework==3.13.1
# drf-spectacular
drf-spectacular==0.21.2
# via -r requirements.in
environs==9.5.0
# via -r requirements.in
gunicorn==20.1.0
# via -r requirements.in
h11==0.13.0
@ -74,14 +56,12 @@ hiredis==2.0.0
# via -r requirements.in
httptools==0.3.0
# via uvicorn
idna==3.3
# via requests
inflection==0.5.1
# via drf-spectacular
jsonschema==4.4.0
# via drf-spectacular
oauthlib==3.2.0
# via requests-oauthlib
marshmallow==3.14.1
# via environs
packaging==21.3
# via redis
pillow==9.0.0
@ -92,20 +72,18 @@ psycopg2-binary==2.9.3
# via -r requirements.in
pycparser==2.21
# via cffi
pyjwt[crypto]==2.3.0
# via django-allauth
pyparsing==3.0.7
# via packaging
pyrsistent==0.18.1
# via jsonschema
python-dotenv==0.19.2
# via uvicorn
# via
# environs
# uvicorn
python-json-logger==2.0.2
# via -r requirements.in
python-slugify==5.0.2
# via -r requirements.in
python3-openid==3.2.0
# via django-allauth
pytz==2021.3
# via
# -r requirements.in
@ -119,12 +97,6 @@ redis==4.1.2
# via
# -r requirements.in
# django-redis
requests==2.27.1
# via
# django-allauth
# requests-oauthlib
requests-oauthlib==1.3.1
# via django-allauth
sentry-sdk==1.5.4
# via -r requirements.in
sqlparse==0.4.2
@ -136,9 +108,7 @@ text-unidecode==1.3
uritemplate==4.1.1
# via drf-spectacular
urllib3==1.26.8
# via
# requests
# sentry-sdk
# via sentry-sdk
uvicorn[standard]==0.17.1
# via -r requirements.in
uvloop==0.16.0