Files
SGTMensa/README.md

113 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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