Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
django [2023/04/13 21:37] root |
django [2023/04/20 09:15] (aktuell) root [views] |
||
---|---|---|---|
Zeile 6: | Zeile 6: | ||
* bringen Methoden mit um Objekte aus der Datenbank zu erstellen/ | * bringen Methoden mit um Objekte aus der Datenbank zu erstellen/ | ||
* ein Objekt enthält die Daten eines " | * ein Objekt enthält die Daten eines " | ||
+ | * basierend darauf kann das Admin-Interface generiert werden | ||
+ | ===== admin ===== | ||
+ | * in der Regel in admin.py definiert | ||
+ | * stellt basierend auf den Models die admin.py zur Verfügung | ||
+ | * definiert welche Tabellen eine Admin-Tabelle bekommen sollen | ||
+ | |||
+ | <sxh python> | ||
+ | from django.contrib import admin | ||
+ | |||
+ | from . import models | ||
+ | |||
+ | admin.site.register(models.Artikel) | ||
+ | </ | ||
+ | |||
+ | |||
+ | * in diesem Fall wird für die Tabelle Artikel (basierend auf den Feldern) im Admin-Interface eingeblendet | ||
+ | |||
+ | |||
+ | ===== URLs ===== | ||
+ | |||
+ | * sind in urls.py | ||
+ | * macht das Mapping zwischen URL/Pfaden und Call-Back-Funktionen aka. Views | ||
+ | |||
+ | |||
+ | |||
+ | <sxh python> | ||
+ | from django.urls import path | ||
+ | from . import views | ||
+ | |||
+ | urlpatterns = [ | ||
+ | path("< | ||
+ | ] | ||
+ | </ | ||
+ | |||
+ | Die entsprechende view sieht so aus: | ||
+ | |||
+ | <sxh python> | ||
+ | def something(request, | ||
+ | pass | ||
+ | </ | ||
+ | |||
+ | * request enthält den Request | ||
+ | * was auch immer in <> in der View steht wird an die aufgerufene Funktion als Parameter übergeben | ||
+ | * in diesem Fall " | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== views ===== | ||
+ | |||
+ | * in der Regel in views.py | ||
+ | * enthält die Funktionen die definieren was gesendet werden soll | ||
+ | * also zum Beispiel ob eine Seite anhand eines Templates gerendert werden soll oder json zurück gegeben werden soll | ||
+ | * was auch immer die Funktionen hier zurückgeben (in return) wird als Antwort gesendet | ||
+ | |||
+ | |||
+ | <sxh python> | ||
+ | def something(request, | ||
+ | return HttpResponse(id) | ||
+ | </ | ||
+ | |||
+ | * der erste Parameter den eine view bekommt ist der Original-Request | ||
+ | * die nachfolgenden sind die URL-Parameter (die in den views mit <> angegeben werden) | ||
+ | * return gibt den Response zurück | ||
+ | * HttpResponse gibt einen rohen HttpRepsponse zurück und was auch immer der Klasse übergeben wird | ||
+ | * render ist eine Methode die anhand eines Templates eine Seite rendert und diese dann zurückgibt | ||
===== Template ===== | ===== Template ===== | ||