Ich habe einen Code hinzugefügt, der bewirkt, dass die Schüler bestellen können und ein Admin (der Mensabetreiber) bei Anmeldung auf die Bearbeitung der Gerichte zugreifen kann.
SGTMensa
MensaApp für die Schulmensa am SGT
Muster-Implementation durch die Lehrkraft in python3 mit Django
To get started
Vorbereitung der virtuellen Entwicklungsumgebung
in einem Projekt-Vezeichnis über dem eigentlichen SGTMensa-Projekt-Ordner
python3 -m venv .venv
source .venv/bin/activate
pip install django
pip install pillow
Falls eine fish-Shell vorliegt:
python3 -m venv .venv
source .venv/bin/activate.fish
pip install django
pip install pillow
Klonen des eigentlichen Projekts
git clone https://git.sgtlernen.de/mputzlocher/SGTMensa.git
Starten des Servers
cd SGTMensa
python manage.py runserver
Erweiterte Erklärung einzelner Schritte
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.
- Ordner erstellen:
mkdir mensa_projekt->cd mensa_projekt - Virtuelle Umgebung erstellen:
- Windows:
python -m venv venv - Mac/Linux:
python3 -m venv .venv
- Windows:
- Aktivieren:
- Windows:
venv\Scripts\activate - Mac/Linux:
source .venv/bin/activate
- Windows:
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.
pip install django
pip install pillow
Schritt 3: Das Projekt initialisieren (nur einmalig, beim ersten Start des Projekts)
Erstelle die Struktur eines Django-Projekts.
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:
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.
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.
-
Admin-User erstellen:
python manage.py createsuperuser(Folge den Anweisungen: Name, Email, Passwort – das Passwort wird beim Tippen nicht angezeigt!)
-
Modelle im Admin registrieren: Gehe in
mensa_app/admin.pyund schreibe: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:
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.