Django-Template-Fragmente ist ein Helfer für die Vorlagen in JavaScript-Client-Framework verwendet.
Einleitung
Oft, wenn Sie eine clientseitige JavaScript-Framework (zB Backbone / ember / Winkel / wathever) verwenden, sollten Sie kleine Vorlagen, um Ihre Seite zu rendern. Das Problem beginnt, wenn:
- Sie immer noch in der Lage sein django Template-Engine verwenden wollen
- Und Sie wollen einen kühlen Ort, um kleine Vorlagen zu definieren.
Das sind die zwei Fragen, die diese Django app versucht, anzugehen. Es kommt auch mit Hilfsfunktionen für diese Art von Vorlagen, wie die wörtliche template von Django 1.5 dev-Code, mit dem Sie eine Zone, in der django nichts zu interpretieren, um Konflikte mit Template-Sprachen wie mustache.js vermeiden definieren.
Damit alle Ihre kleinen Vorlagen im selben Verzeichnis definieren Sie und Sie können, um sie in den Fragmenten JavaScript-Objekt zugreifen können, die die (von django gemacht) Vorlagen enthält.
Installation
Von pip:
pip Django-Template-Fragmente installieren
Von setup.py:
git clone git: //github.com/Psycojoker/django-template-fragments.git
cd Django-Template-Fragmente
python setup.py install
Erstellen Sie ein Verzeichnis, in dem Sie Ihre Fragmenten speichern, fügen Sie dann FRAGMENTS_DIR um Ihre settings.py wollen, muss es ein absoluter Pfad sein.
Ich mag meine FRAGMENTS_DIR wie folgt definieren:
import os
PROJECT_PATH = os.path.abspath (os.path.split (__ __-Datei) [0])
SUBPROJECT_PATH = os.path.split (PROJECT_PATH) [0]
FRAGMENTS_DIR = os.path.join (SUBPROJECT_PATH "Fragmente")
Dies wird es in das Verzeichnis projektname / Fragmente (wo Ihr settings.py ist in Projektname / Projektname / settings.py) eingestellt.
Als nächstes schreiben Sie ein paar kleine HTML-Schnipsel in dieser Richt.
Dann fügen Sie so etwas wie dieses, um Ihre urls.py
url (r '^', include ('fragments.urls')),
Und irgendwo in Ihrer Basisvorlage
Dadurch erhalten Sie ein JavaScript-Objekt-Fragmente, die alle Fragmente, der Schlüssel ist der Dateiname des Fragments ohne die Erweiterung.
Beispiel: object_list.html wird in den Fragmenten zugänglich sein Objekt wie folgt aus: fragments.object_list
Legt man das Fragment in einem Unterverzeichnis in der FRAGMENTS_DIR, wird der Schlüssel sein, der Dateiname ohne Erweiterung mit dem Unterverzeichnis-Pfad wo die / durch _ ersetzt beigetreten.
Unklar? Hier ist ein Beispiel: die Datei FRAGMENTS_DIR / eine / zwei / three.html wird auf der Taste wichtige_seite zugänglich sein.
HamlPy Unterstützung
Wenn Sie HamlPy installiert und Ihr Fragmentname endet mit .haml wird Django-Template-Fragmente es Rechnung zu tragen und zu verwenden HamlPy die HTML zu generieren.
Verbatim-Tag
Sie müssen Fragmente in Ihrer installierten Anwendungen in settings.py für diese zu arbeiten setzen.
Ich habe Code aus dem dev Zweig der Django 1.5 ergriffen, um die Nutzung der wörtlich template lassen, um Konflikte zwischen Django Template Syntax und anderen Template-Engine Syntax zu vermeiden (zB Schnurrbart).
Beispiel:
{% Last Fragmente%}
{{Will_be_interpreted}}
{% Wörtlich%}
{{Wont_be_interpredted}}
{% Endverbatim%}
Sie können auch einen bestimmten End-Tag in Django-Dokumentation beschrieben.
Beispiel aus dem Dokument:
{% Last Fragmente%}
{% Wörtlich myblock%}
& Nbsp; Vermeiden Vorlage Rendering über das {% wörtlich%} {% endverbatim%} Block.
{% Endverbatim myblock%}
Ignoriert Dateien Erweiterungen
Standardmäßig Django-Template-Fragmente ignoriert alle Dateien, die mit einer von denen endet: .pyc .swo .swp ~
. Sie können Ihre eigene Liste durch die Definition FRAGMENTS_IGNORED_FILE_TYPES in Ihrem settings.py festlegen
Anforderungen :
- Python
- Django
Kommentare nicht gefunden