Benutzer-Werkzeuge

Webseiten-Werkzeuge


django

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
django [2014/09/07 18:23]
127.0.0.1 Externe Bearbeitung
django [2023/04/20 09:15] (aktuell)
root [views]
Zeile 1: Zeile 1:
 +===== Model =====
 +
 +  * liegen in der Regel in models.py
 +  * definieren die Grundobjekte
 +      * eigentlich sind sie die Datenbankdarstellung
 +      * bringen Methoden mit um Objekte aus der Datenbank zu erstellen/zu filtern oder darin zu speichern
 +      * ein Objekt enthält die Daten eines "Objektes" in der Datenbank/ist ein Datensatz
 +  * 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)
 +</sxh>
 +
 +
 +  * 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("<int:id>/something/, views.something, name="mysomething")
 +]
 +</sxh>
 +
 +Die entsprechende view sieht so aus:
 +
 +<sxh python>
 +def something(request, id):
 +    pass
 +</sxh>
 +
 +  * request enthält den Request
 +  * was auch immer in <> in der View steht wird an die aufgerufene Funktion als Parameter übergeben
 +      * in diesem Fall "id"
 +
 +
 +
 +
 +
 +===== 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, id):
 +    return HttpResponse(id)
 +</sxh>
 +
 +  * 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 =====
  
django.1410107023.txt.gz · Zuletzt geändert: 2014/09/07 18:23 von 127.0.0.1