2009-08-25 7 views

Antwort

16

{% 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.

6

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.

Verwandte Themen