Wo kann ich technische Informationen darüber bekommen, wie die Interna von Django funktionieren?

7

Wo bekomme ich die technischen Handbücher / Details, wie django internals funktioniert, d.h. ich würde gerne wissen, wann eine Anfrage von einem Kunden eingeht;

  • Welche Django-Funktion empfängt es?
  • Welche Middleware wird aufgerufen?
  • Wie wird das Anfrageobjekt erstellt? und welche Klasse / Funktion erstellt es?
  • Welche Funktion ordnet die Anfrage der erforderlichen Ansicht zu?
  • Wie wird Ihr Code / View aufgerufen?

? usw. ...

Paul.G

    
gath 17.08.2009, 04:38
quelle

6 Antworten

9

Der einfachste Weg, das Innere des Django zu verstehen, ist das Lesen eines speziell dafür geschriebenen Buches.

Lesen Pro Django . Es bietet Ihnen ein vertieftes Verständnis der Metaprogrammierung und demonstriert, wie es in Django-Modellen verwendet wird, um sie dynamisch zu erstellen.

Es behandelt ähnlich viele andere Python-Konzepte und wie Django es benutzt.

    
Lakshman Prasad 17.08.2009, 09:57
quelle
12

Neben dem Lesen der Quelle, hier sind ein paar Artikel, die ich vor einiger Zeit markiert und mit einem Lesezeichen versehen habe:

Ich habe James Bennets Blog als eine großartige Quelle für Informationen über Django-Arbeiten gefunden. Sein Buch, Practical Django Projects , ist ebenfalls ein Muss - obwohl es sich nicht auf Interna konzentriert, werden Sie es tun lerne immer noch, wie Django funktioniert.

    
ars 17.08.2009 05:09
quelle
10

"Benutze die Quelle, Luke." Das Schöne an Open-Source-Software ist, dass Sie den Code selbst anzeigen und ändern können.

    
Ned Deily 17.08.2009 04:42
quelle
6

Das einfache Lesen der Quelle kann etwas überwältigend sein, besonders da der obere Teil etwas verwirrend ist (wie der Webserver die Anfrage an den Django-Code übergibt). Ich finde einen guten Weg, um mit dem Lesen des Codes zu beginnen, ist einen Debugger Breakpoint in Ihrer View-Funktion zu setzen:

%Vor%

dann drücken Sie Ihre URL. Wenn der Debugger an Ihrem Haltepunkt bricht, überprüfen Sie den Stapel:

%Vor%

Nun können Sie eine Zusammenfassung des Pfades vom tiefsten Teil des Webservers zu Ihrer Ansichtsfunktion sehen. Verwenden Sie den Befehl "up", um den Stapel nach oben zu verschieben, und den Befehl "list" und "print", um den Code und die Variablen in diesen Stapelrahmen zu untersuchen.

    
Ned Batchelder 17.08.2009 12:37
quelle
1

Ich bezweifle, dass es technische Handbücher zu diesem Thema gibt. Es kann ein wenig dauern, zu graben, aber die API-Dokumentation und der Quellcode sind Ihre besten Wetten für zuverlässige, aktuelle Informationen.

    
Sam DeFabbia-Kane 17.08.2009 04:43
quelle
0

Die Dokumentation geht oft detailliert ins Detail, um zu erklären, warum die Dinge so funktionieren, wie sie es tun. Eines der Designziele von Django ist es, sich nicht so sehr auf "Magie" zu verlassen. Wann immer Django jedoch etwas annimmt (beispielsweise Vorlagenpositionen innerhalb von Apps), erklärt das klar, warum dies in der Dokumentation geschieht, und es tritt immer vorhersehbar auf.

Die meisten Ihrer Fragen werden durch die Implementierung einer einzelnen Seite beantwortet.

  1. Für eine bestimmte URL wird vom Client eine Anfrage gestellt.
  2. Die URL löst anhand der Übereinstimmung des URL-Musters auf, welche Ansicht aufgerufen werden soll.
  3. Die Anfrage wird über die Middleware weitergeleitet.
  4. Die View wird aufgerufen und das Request-Objekt explizit übergeben.
  5. Die Ansicht ruft explizit die von Ihnen angegebene Vorlage auf und übergibt ihr den von Ihnen angegebenen Kontext (Variablen).
  6. Template-Kontext-Prozessoren, falls es welche gibt, fügen dann ihre eigenen Variablen zum Kontext hinzu.
  7. Der Kontext wird an die Vorlage übergeben und gerendert.
  8. Die gerenderte Vorlage wird an den Client zurückgegeben.

Django-Dokumentation

Django Buch

    
Soviut 17.08.2009 04:46
quelle

Tags und Links