Ziel des Seminars ist es, eine vollständige Django-Webanwendung zu entwickeln und dabei die wichtigsten Konzepte, Best Practices und typischen Workflows kennenzulernen.
- Was ist Django?
- Philosophie: „batteries included“
- Typische Einsatzgebiete
- Architektur: MTV (Model–Template–View)
- Überblick über den Seminarablauf und das Beispielprojekt
- Virtuelle Umgebungen (venv)
- Installation von Django
- Projekt vs. App
django-adminundmanage.py- Start des Entwicklungsservers
- URL-Dispatcher
- Funktionsbasierte Views
- Klassenbasierte Views (Überblick)
- Request- und Response-Objekte
- GET- und POST-Requests
- Django Template Language (DTL)
- Template-Vererbung
- Kontextdaten
- Template-Tags und Filter
- Einbindung von CSS und statischen Assets
- Models definieren
- Felder und Datentypen
- Migrationen verstehen
- Einführung in das Django ORM
- Erste Datenbankabfragen
- One-to-Many-Beziehungen
- Many-to-Many-Beziehungen
- Foreign Keys
- QuerySets und Filter
- Performance-Grundlagen (Überblick)
- Aktivieren des Admin-Bereichs
- Models registrieren
- Listen- und Formularansichten anpassen
- Such- und Filterfunktionen
- Admin als produktives Werkzeug
- Django Forms
- ModelForms
- Validierung von Eingaben
- CSRF-Schutz
- Verarbeitung von POST-Daten
- Django Auth-System
- Login und Logout
- Permissions und Groups
- Zugriffsbeschränkungen für Views
- Überblick: Custom User Model
- JSON-Responses mit Django
- Aufbau einfacher API-Endpunkte
- Serialisierung von Daten
- Fehlerbehandlung (404, 400)
- Ausblick: Django REST Framework
- Tests für Models und Views
- Django Test Client
- Debugging-Strategien
- Logging-Grundlagen
- Typische Anfängerfehler vermeiden
- Development vs. Production
- WSGI / ASGI Überblick
- Umgang mit Settings in Produktion
- Security-Grundlagen
- Nächste Schritte (APIs, Async, Skalierung)
python -m venv venv
source venv/bin/activate
pip install django
python manage.py migrate
python manage.py runserver