Die django template doc die folgenden für die Erweiterung Vorlagen erwähnt:Wie verwende ich Djangos Template extends Variable?
{% extends variable %}
Wo definiere ich die Variable? Geht es um die ansichten.py?
Die django template doc die folgenden für die Erweiterung Vorlagen erwähnt:Wie verwende ich Djangos Template extends Variable?
{% extends variable %}
Wo definiere ich die Variable? Geht es um die ansichten.py?
{% extends %}
nimmt tatsächlich eine Zeichenfolge - die Position der Vorlage zu erweitern.
Wenn Sie diese Variable in Python deklarieren möchten, übergeben Sie sie mit Ihrem Wörterbuch an den Vorlagenlader. Beispiel:
import django.http
from django.shortcuts import render_to_response
# ...
INDEX_EXTEND = "index.html"
# ...
def response(request) :
return render_to_response("myview.html", {'extend': INDEX_EXTEND})
Und dann in der Ansicht:
{% extends extend %}
Beachten Sie, dass 'extend'
in der Vorlage übergeben Wörterbuch übergeben wurde. Sie können natürlich die Variable irgendwo anders in Ihrer .py
Datei definieren - oder sogar in der Wörterbuchdeklaration selbst. Denken Sie daran,
dass {% extends %}
können auch als solche aufgerufen werden:
{% extends "index.html" %}
Schauen Sie sich die Dokumentation auf Template inheritance auch.
Ja, es ist nur eine Kontextvariable wie jede andere.
Sie müssen keine Variable verwenden - {% extends "main.html" %}
ist vollkommen akzeptabel, in der Tat vorzuziehen, es sei denn, Sie müssen etwas sehr dynamisch mit Template-Vererbung tun.