Skip to content
Snippets Groups Projects
Commit 5f0728bc authored by jan.bednarik's avatar jan.bednarik
Browse files

majak: Use .env for environment setup

parent f5517e98
No related branches found
No related tags found
No related merge requests found
......@@ -13,6 +13,15 @@ Je třeba nastavit environment proměnné:
| proměnná | default | popis |
| --- | --- | --- |
| `DATABASE_URL` | | DSN k databázi (např. `postgres://user:pass@localhost:5342/majak`) |
| `OIDC_RP_REALM_URL` | | OpenID server realm URL (např. `http://localhost:8080/auth/realms/master/`) |
| `OIDC_RP_CLIENT_ID` | | OpenID Client ID |
| `OIDC_RP_CLIENT_SECRET` | | OpenID Client Secret |
V produkci musí být navíc nastaveno:
| proměnná | default | popis |
| --- | --- | --- |
| `DJANGO_SECRET_KEY` | | tajný šifrovací klíč |
## Pod pokličkou
......@@ -80,9 +89,18 @@ To nainstaluje Pythonní závislosti pro vývoj projektu na lokále.
#### Nastavení environment proměnných
Nastav environment proměnné (viz konfigurace výše). Pro jednoduchost doporučujeme
použít [direnv](https://direnv.net/), který nastaví environment proměnné pro vývoj
při změně adresáře na adresář s projektem.
Environment proměnné (viz konfigurace výše) se načítají ze souboru `.env`, který
může vypadat takto:
DATABASE_URL=postgres://db:db@localhost:5432/majak
OIDC_RP_REALM_URL=http://localhost:8080/auth/realms/master/
OIDC_RP_CLIENT_ID=majak
OIDC_RP_CLIENT_SECRET=abcd
Pro lokální vývoj obsahují settings tyto výchozí hodnoty:
DEBUG = True
ALLOWED_HOSTS = ["*"]
### Management projektu
......
import os.path
from os.path import join
from pathlib import Path
import environ
env = environ.Env()
PROJECT_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
BASE_DIR = os.path.dirname(PROJECT_DIR)
ROOT_DIR = Path(__file__).parents[2]
PROJECT_DIR = ROOT_DIR / "majak"
env = environ.Env()
environ.Env.read_env(str(ROOT_DIR / ".env"))
# Application definition
......@@ -57,7 +57,7 @@ ROOT_URLCONF = "majak.urls"
TEMPLATES = [
{
"BACKEND": "django.template.backends.django.DjangoTemplates",
"DIRS": [join(PROJECT_DIR, "templates"),],
"DIRS": [str(PROJECT_DIR / "templates")],
"APP_DIRS": True,
"OPTIONS": {
"context_processors": [
......@@ -113,17 +113,17 @@ STATICFILES_FINDERS = [
"django.contrib.staticfiles.finders.AppDirectoriesFinder",
]
STATICFILES_DIRS = [join(PROJECT_DIR, "static")]
STATICFILES_DIRS = [str(PROJECT_DIR / "static")]
# ManifestStaticFilesStorage is recommended in production, to prevent outdated
# Javascript / CSS assets being served from cache (e.g. after a Wagtail upgrade).
# See https://docs.djangoproject.com/en/3.0/ref/contrib/staticfiles/#manifeststaticfilesstorage
STATICFILES_STORAGE = "django.contrib.staticfiles.storage.ManifestStaticFilesStorage"
STATIC_ROOT = join(BASE_DIR, "static_files")
STATIC_ROOT = str(ROOT_DIR / "static_files")
STATIC_URL = "/static/"
MEDIA_ROOT = join(BASE_DIR, "media_files")
MEDIA_ROOT = str(ROOT_DIR / "media_files")
MEDIA_URL = "/media/"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment