App_1 hat eine Ansicht und eine Vorlage für diese Ansicht. Es möchte Informationen aus anderen Quellen (d. H. Anderen Apps) in diese Ansicht "aggregieren", ohne selbst etwas hinzufügen oder ändern zu müssen. Vielleicht möchte App_2 "Hallo Welt" in diesem bestimmten Bereich in App_1 anzeigen. Was ist der beste Weg, dies zu erreichen?Fügen Sie Vorlagenelemente aus anderen Apps in Django dynamisch hinzu.
Signale kommen natürlich in den Sinn. Aber was sollten Signalempfänger zurücksenden? Meiner Meinung nach enthält die App_1-Vorlage ein benutzerdefiniertes Tag, das ein Signal sendet und eine Liste mit Vorlagen (z. B. "app_2/template.html") zurückerhält, die jeweils registriert werden. Es scheint jedoch, dass inclusion_tag nur 1 Template-Rendering für jedes Tag unterstützt.
Welchen Rückgriff habe ich?
Ah, aber Signale haben Rückgabewerte :) Diese "Pull from Listener" -Funktionen sind ziemlich praktisch. Wie auch immer, ich habe sowieso ein Inclusion-Tag mit mehreren Vorlagen programmiert, da die Logik des Renderns anderer Vorlagen nicht in Ansichten enthalten sein sollte (was ich ursprünglich getan hatte). –