Also habe ich ein bisschen mit Django herumgespielt und ich mag dieses Framework wirklich. Ich würde jedoch gerne besser verstehen, wie es tatsächlich unter der Decke funktioniert.Wie kann ich am besten herausfinden, wie Django intern funktioniert?
Hier ist meine Sicht der Client-Server-django Welt, die sehr rau ist und wird wahrscheinlich Ihre Fußnägel curl (sorry) machen ...
- Der Browser sendet eine HTTP-Anfrage an den Server.
- Der Server macht seine Magie und Dumps die Anfrage über das CGI zu Django (?)
- Ein Teil von Django (was?) Empfängt die Anfrage und macht es zu einem Django-Anfrage-Objekt.
- Das Request-Objekt wandert auf einigen nebulösen Pfaden durch die Middleware, die seltsame Dinge damit macht.
- Das Anfrageobjekt endet schließlich in einer Funktion (welche?), Die die URLs betrachtet, die Muster aus urls.py entfernt und eine Ansichtsfunktion aufruft.
- Die View-Funktionen machen ihre Magie (mit Modellen und Vorlagen als Partner in Laster), das ist wahrscheinlich, wo ich die stärkste Illusion des Verständnisses habe (naja, abgesehen von der Datenbank Abstraktion Magie, das ist ...;)
- Die View-Funktionen gibt ein HttpResponse-Objekt zurück, ich denke, dass dies auf einigen nebulösen Pfaden zum CGI zurückgegeben wird.
- Webserver übernimmt erneut und sendet die HTTP-Antwort an den Client.
Ok, also was zum Teufel ist meine Frage, die Sie fragen? Nun, wie funktioniert das alles wirklich? Ich erwarte nicht, dass Sie gängeln mir alles ... Ich vermute, dass die Antwort wird schließlich „die Quelle, luke zu lesen“ sein, aber wäre ich Ihnen dankbar, wenn
- Sie könnten mein grosses aufklären misconseptions
- sagen Sie mir, wo ich anfangen soll? Was ich tun möchte, ist ein Debugger grapschen und nur ein paar Mal durch den Prozess gehen, aber ich weiß nicht, wo ich anfangen soll
- Sie könnten mich auf Dokumente verweisen, die dies gut erklären ... ja Ich habe von dieser Google-Sache gehört, aber habe nichts wirklich Super-Nützliches gefunden.
Dank viel Paul
Es gibt derzeit kein anderes so weit reichendes und tiefgreifendes wie DiD. Bennett hat einen Nagel in jedes Feature von Django gelenkt. Hier sind die Folien (satte 1025 von ihnen) aus der Präsentation http://www.slideshare.net/ubernostrum/django-in-depth. –
Danke für den Link zu den Folien KRON! Es hat mich ein bisschen erschreckt, als ich 1025 gelesen habe, aber es scheint, dass es alle Overlays zählt, also kann ich sie in einer Nacht durchgehen;) – Paul
1. Link funktioniert nicht (Django in Depth) –