# SGTMensa 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.