Das ist eine ziemlich einfache Frage (ich bin neu in Django), aber ich habe Probleme mit der Verwendung eines Variablensatzes in meiner Ansicht innerhalb meiner Vorlage. Wenn ich eine Zeichenfolge oder eine Liste in meiner Ansicht initialisiere (z. B. h="Hallo") und dann versuche, sie in einer Vorlage aufzurufen:
{{ h }}
Es gibt weder Ausgabe noch Fehler. Wenn ich versuche, eine Variable innerhalb meiner Vorlage zu verwenden, die nicht existiert:
Es wird erneut kein Fehler gemeldet. Ist das normal? Und wie kann ich meine Variablen in meinen Vorlagen verwenden? Danke!
Um auf eine Variable in einer Vorlage zugreifen zu können, muss sie sich im Kontext befinden, der zum Rendern dieser Vorlage verwendet wird. Meine Vermutung ist, dass Sie beim Rendern kein Kontextwörterbuch an die Vorlage übergeben.
Das "Wörterbuch", auf das verwiesen wird, ist ein Wörterbuch, das alle Variablen enthält, die im Kontext verfügbar sein sollen. Zum Beispiel:
%Vor%Soweit der Fehler "no error" geht ... Das ist die Standardeinstellung für eine ungültige Template-Variable. Sie können dies in den Projekteinstellungen ändern, wenn Sie möchten.
Ja! Das ist normal. Solche Fehler in Vorlagen schlagen im Hintergrund fehl und dies wird in Django erwartet.
um die Vorlage richtig darzustellen, benutze render_to_response('your_template.html', {'h':h})
(es gibt auch eine unangenehme Verknüpfung render_to_response('your_template.html', locals())
, wenn dein Kontextwörterbuch sehr groß ist)
Hier ist eine Erklärung mit Beispielen: Ссылка (Abschnitt 'Wie ungültige Variablen gehandhabt werden')