Ich möchte eine Vorlage zwischen AJAX- und regulären HTTP-Aufrufen freigeben. Der einzige Unterschied besteht darin, dass eine Vorlage mit der HTML-Datei base.html bereitgestellt werden muss, die andere ohne.
Irgendeine Idee?
python
ajax
django
django-templates
RadiantHex
quelle
quelle
Für die anderen Antworten müssen Sie eine zusätzliche Kontextvariable übergeben. Solange Sie jedoch auf das Anforderungsobjekt zugreifen können, besteht keine Notwendigkeit:
{% extends request.is_ajax|yesno:"app/base_ajax.html,app/base.html" %}
Ich fand das viel bequemer.
quelle
{% block 'someblock' %}
auf ähnliche dynamische Weise aufzunehmen?django-compressor
ein Cache für denapp/base.html
Fall erstellt, jedoch nicht für den Fall, derapp/base_ajax.html
beim Versuch, die zwischengespeicherte Vorlage zu laden, fehlschlägt (kein Schlüssel im generierten Offline-Manifest).{% extends override_base|default:'base.html' %}
Ps Ich weiß, dass dies eine alte Frage ist, aber ich habe sie gefunden, als ich nach einer Antwort gesucht habe. Vielleicht hilft es jemand anderem mit dem gleichen Problem.
quelle
Sie können {% erweitert Variable%} verwenden
Übergeben Sie einen variablen Basisvorlagennamen, wenn Sie den Kontext in der Ansicht erstellen.
http://docs.djangoproject.com/de/dev/ref/templates/builtins/?from=olddocs#extends
quelle