Verwendung von Django View Variablen in Templates

8

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:

%Vor%

Es wird erneut kein Fehler gemeldet. Ist das normal? Und wie kann ich meine Variablen in meinen Vorlagen verwenden? Danke!

    
Anon 16.06.2010, 18:51
quelle

3 Antworten

22

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.

Ссылка

    
Josh Wright 16.06.2010, 18:56
quelle
3

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')

    
dzida 16.06.2010 18:55
quelle
3

Sie können auch

verwenden %Vor%

Siehe das neueste Handbuch zu Ссылка

    
Newton 20.07.2016 11:36
quelle

Tags und Links