From a9afaff671de587065732d387bee661803db5fc6 Mon Sep 17 00:00:00 2001 From: Martin Putzlocher Date: Thu, 7 May 2026 20:24:33 +0200 Subject: [PATCH] Update Readme, first DB data and migration --- README.md | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++- db.sqlite3 | Bin 188416 -> 188416 bytes 2 files changed, 111 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b7bdfdf..742318d 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,113 @@ # SGTMensa -MensaApp für die Schulmensa am SGT \ No newline at end of file +MensaApp für die Schulmensa am SGT + +Muster-Implementation durch die Lehrkraft in python3 mit Django + +## To get started + +```bash +cd SGTMensa +python3 -m venv venv +source venv/bin/activate +pip install django +django-admin startproject mensa-core . +``` + +### Schritt 1: Die Arbeitsumgebung isolieren (Virtual Environment) + +Bevor du auch nur eine Zeile Code schreibst, erstelle eine eigene Umgebung. Das verhindert, dass sich verschiedene Projekte auf deinem Rechner gegenseitig stören. + +1. **Ordner erstellen:** `mkdir mensa_projekt` -> `cd mensa_projekt` +2. Virtuelle Umgebung erstellen: + - Windows: `python -m venv venv` + - Mac/Linux: `python3 -m venv venv` +3. Aktivieren: + - Windows: `venv\Scripts\activate` + - Mac/Linux: `source venv/bin/activate` + +*Jetzt siehst du ein `(venv)` vor deiner Kommandozeile. Dein System ist nun "sauber".* + +### Schritt 2: Das Fundament legen (Installation) + +Installiere nur das Nötigste. Für den Start reicht Django. + +```bash +pip install django +``` + +### Schritt 3: Das Projekt initialisieren + +Erstelle die Struktur eines Django-Projekts. + +```bash +django-admin startproject mensa_core . +python manage.py startapp mensa_app +``` + +*Hinweis: Der Punkt `.` am Ende von `startproject` sorgt dafür, dass die Dateien im aktuellen Ordner erstellt werden und nicht ein Unterordner entsteht.* + +### Schritt 4: Die App registrieren + +Damit Django weiß, dass deine neue App `mensa_app` existiert, musst du sie in der Datei `mensa_core/settings.py` unter `INSTALLED_APPS` hinzufügen: + +```python +INSTALLED_APPS = [ + ... + 'mensa_app', +] +``` + +### Schritt 5: Die Modelle implementieren + +Jetzt kopierst du den Code für deine Klassen (aus unserer vorherigen Diskussion) in die Datei `mensa_app/models.py`. + +### Schritt 6: Die Datenbank "erwecken" (Migrations) + +Da du gerade Modelle definiert hast, muss die Datenbank (standardmäßig SQLite, was perfekt für Tests ist) diese Strukturen lernen. + +```bash +python manage.py makemigrations mensa_app + +python manage.py migrate +``` + +### Schritt 7: Der "Geheimweg" – Das Admin-Interface nutzen + +Das ist der Clou an Django! Du musst noch keine eigenen Webseiten (HTML) programmieren, um Daten einzugeben. Django liefert ein fertiges Interface mit. + +1. **Admin-User erstellen:** + + ```bash + python manage.py createsuperuser + ``` + + + + (Folge den Anweisungen: Name, Email, Passwort – das Passwort wird beim Tippen nicht angezeigt!) + +2. **Modelle im Admin registrieren:** + Gehe in `mensa_app/admin.py` und schreibe: + + ```bash + 1. from django.contrib import admin + + from .models import DeinModellName # Ersetze dies durch deine echten Klassennamen + + admin.site.register(DeinModellName) + + ``` + + + +### Schritt 8: Den Server starten + +Jetzt kommt der magische Moment: + +```bash +python manage.py runserver +``` + + + +Öffne deinen Browser unter `http://127.0.0.1:8000/admin`. Logge dich mit deinem Superuser ein. **Herzlichen Glückwunsch!** Du hast eine voll funktionsfähige Web-Anwendung, mit der du bereits Speisepläne und Bestellungen in einer Datenbank verwalten kannst. \ No newline at end of file diff --git a/db.sqlite3 b/db.sqlite3 index ee1cdd8ab41c241f838c1009eebd51e6989a325a..ac45a760a47b10e6b511950e3ecfb176f36cd25e 100644 GIT binary patch delta 45 zcmZoTz};|wdxA8h=|mZ4M$?T6LHRtUCRRp002uW B4(LHRt!W>!X)dPYX3K+wD|zkOdm