Ich arbeite an einer großen Social-Networking-App in Django, wo ich bestimmte Front-End-Komponenten oft verwenden werde und oft mit Funktionen, die so konzipiert sind, dass benutzerdefinierte Komponenten enthalten andere benutzerdefinierte Komponenten, die möglicherweise noch kleinere Unterkomponenten enthalten (ad infinitum). Alle diese Komponenten werden typischerweise dynamisch generiert. Ich versuche herauszufinden, wie ich dies im Django-Framework am besten gestalten kann, so dass meine Komponenten einfach zu warten sind und über klare Programmierschnittstellen verfügen. Sich stark auf den globalen Kontext zu verlassen, scheint das Gegenteil zu sein, aber ich sehe Vorteile darin, redundante Abfragen zu vermeiden, indem sie alle gleichzeitig in der Ansicht ausführen.Django: Implementieren eines verschachtelten, wiederverwendbaren Komponentendesigns
Benutzerdefinierte Einführungsschablonen-Tags scheinen eine gute Lösung für die Implementierung von Komponenten zu sein, aber ich frage mich, ob hoch verschachtelte Vorlagen-Tags Leistungsprobleme verursachen können, oder verhindert die Parsing-Architektur dies? Was ist der beste Weg, um auf der Ansichtsebene selbst zu dokumentieren, welcher Kontext benötigt wird, um die Hauptseitenvorlage, benutzerdefinierte Tags und alle zu rendern? Ich stelle mir vor, dass es ein kleiner Albtraum ist, zu versuchen, den Code ordnungsgemäß zu pflegen, um den Vorlagenkontext einzurichten. Zuletzt, was ist der beste Weg, um das CSS für diese Komponenten zu erhalten?
Fühlen Sie sich frei, andere empfohlene Ansätze zum Erstellen eines geschachtelten Komponentenentwurfs vorzuschlagen.
Es scheint ein extrem häufiges Problem für mich, weshalb ich es ein bisschen komisch finde, dass weder das Handbuch, noch irgendwelche Ressourcen, die ich gefunden habe, noch irgendwelche Antworten, die ich erhalten habe (bis deins), direkt Behandeln Sie die Probleme einer Architektur, die auf Komponentenebene modular und wartbar ist. Vielleicht benutzen die Leute Django nicht wirklich dafür. Aber selbst wenn das der Fall ist, würde ich erwarten, dass das grundlegende Problem in jedem MVC-Framework existiert. – acjay