====== Django ======
===== Lesezeichen =====
[[https://simpleisbetterthancomplex.com/tutorial/2018/04/03/how-to-integrate-highcharts-js-with-django.html|How to Integrate Highcharts.js with Django]] \\
[[https://simpleisbetterthancomplex.com/tips/2018/02/10/django-tip-22-designing-better-models.html|Designing Better Models]] \\
[[https://djangosnippets.org/|Django Snippets]] \\
[[https://edgarroman.github.io/zappa-django-guide/|Guide to using Django with Zappa]]
[[https://www.heise.de/ratgeber/Python-Django-Webanwendungen-in-Docker-Containern-betreiben-4432703.html?seite=all|Django-Webanwendungen in Docker-Containern betreiben]] \\
[[https://docs.docker.com/compose/django/|Django in Docker Containern auf Python3 Basis]]
===== Strategien =====
FIXME Pipenv aus dem Workflow durch venv ersetzen :!:
Um die verschiedenen Entwicklungsumgebungen abzubilden, sollte die Umgebungsvarialbe DJANGO_SETTINGS_MODULE verwendet werden. Unter Pipenv kann man die z.B. über eine .env Datei im Projekt setzen. Sie wird dann beim Aktivieren automatisch ins environment übernommen.
===== Programme =====
==== Packliste ====
Zwei Modi: Planen, Packen
**Planen**: Auswahl der Urlaubsparameter
^ Kategorie ^ Modell ^ Optionen ^
^ Dauer | Vacation | Urlaubstage, Daten |
^ Ort | Vacation | Urlaubsziel und Name für die Reise |
^ Jahr | Vacation | Jahr der Reise |
^ Teilnehmer | Tag / TagClass | Uta, Lutz, Line, Tim |
^ Wettervorhersage | Tag / TagClass | Sonnig, Bewölkt, Regen, Schnee |
^ Unterkunft | Tag / TagClass | Hotel, Apartment / Haus, Wohnwagen, Zelt, Hüttentour |
^ Reiseart | Tag / TagClass | Auto / Mietwage, Flugzeug, Bahn / Bus, Fahrrad |
^ Sonstiges | Tag / TagClass | Geschäftsreise, Strand, Klettern, Baden, Tauchen, Wandern, Skifahren |
^ Gepäck | Item | Mit Tags und Travellers verbunden |
^ Gepäckart | Category | Kategorien von Gepäck |
^ Gepäckliste | Luggage | Gepäckauswahl für eine Reise mit gepackt / verstaut Flags |
Finale Liste sollte noch verändert werden können.
**Packen**: Packliste abhaken => Rausgelegt, Eingepackt, Verstaut.
===== Einrichten =====
Folgende Schritte sind beim Klonen und Einrichten eines Django-Projektes zu beachten:
hg clone ssh://hg@bitbucket.org/lmoppert/kalender
cd kalender
sudo -u postgres createuser -P -d kalender
sudo -u postgres createdb -O kalender kalender
pipenv install
pipenv shell
python3 manage.py compilemessages
python3 manage.py migrate
python3 manage.py collectstatics
====== Docker ======
FROM python:3.7
RUN pip install pipenv
COPY Pipfile* /tmp
RUN cd /tmp && pipenv lock --requirements > requirements.txt
RUN pip install -r /tmp/requirements.txt
COPY . /tmp/myapp
RUN pip install /tmp/myapp
CMD flask run exampleapp:app