django-modello-frammenti è un aiuto per i modelli utilizzati nel framework client JavaScript.
Introduzione
Spesso, quando si utilizza un client-side framework javascript (es backbone / brace / angolare / wathever), ti consigliamo piccoli modelli per rendere la vostra pagina. Il problema inizia quando:
- Si vuole ancora essere in grado di utilizzare il motore di template django
- E volete un luogo fresco per definire i piccoli modelli.
Questi sono i problemi che questo 2 Django app cerca di affrontare. Inoltre è dotato di funzionalità di supporto per questo tipo di modelli, come i templatetags testualmente django 1.5 codice dev che consente di definire una zona in cui Django non interpreta niente per evitare conflitti con lingue di modello come mustache.js.
Con esso, è possibile definire tutte le vostre piccole modelli nella stessa directory e sarete in grado di accedervi in frammenti javascript oggetto che contiene le (reso da Django) modelli.
Installazione
Da pip:
pip installazione Django-template-frammenti
Da setup.py:
git clone git: //github.com/Psycojoker/django-template-fragments.git
cd django-modello-frammenti
python setup.py install
Creare una directory in cui si desidera memorizzare i frammenti, quindi aggiungere FRAGMENTS_DIR al settings.py, deve essere un percorso assoluto.
Mi piace definire il mio FRAGMENTS_DIR in questo modo:
os importazione
Project_path = os.path.abspath (os.path.split (__ di file __) [0])
SUBPROJECT_PATH = os.path.split (project_path) [0]
FRAGMENTS_DIR = os.path.join (SUBPROJECT_PATH, "frammenti")
Questo imposterà nella directory PROJECT_NAME / frammenti (in cui il vostro settings.py è in project_name / project_name / settings.py).
Avanti, scrivere alcuni piccoli frammenti di HTML in questo dir.
Quindi aggiungere qualcosa di simile alla tua urls.py
url (r '^', includere ('fragments.urls')),
E da qualche parte nel modello di base
Questo vi darà un oggetto JavaScript che contengono frammenti di tutti i frammenti, la chiave è il nome del file del frammento senza l'estensione.
Esempio: object_list.html saranno accessibili nei frammenti oggetto come questo: fragments.object_list
Se si mette il frammento in una sottocartella nella FRAGMENTS_DIR, la chiave sarà il nome del file, senza la sua estensione è unito con il percorso subdir dove i / sono sostituiti da _.
Non chiaro? Ecco un esempio: il file FRAGMENTS_DIR / uno / due / three.html sarà accessibile al one_two_three chiave.
sostegno HamlPy
Se avete HamlPy installato e che il tuo nome frammento termina con .haml, django-modello-frammenti tenerne conto e utilizzare HamlPy per generare il codice HTML.
tag Verbatim
Devi mettere in frammenti le applicazioni installate in settings.py per questo lavoro.
Ho preso il codice dal ramo dev di Django 1.5 per consentire l'utilizzo dei templatetags testuali al fine di evitare conflitti tra sintassi del modello Django e altri sintassi motore di template (ad esempio i baffi).
Esempio:
{% Load frammenta%}
{{Will_be_interpreted}}
{% Verbatim%}
{{Wont_be_interpredted}}
{% Endverbatim%}
È anche possibile scegliere un tag di chiusura specifico, come descritto nella documentazione di Django.
Esempio dal doc:
{% Load frammenta%}
{% Myblock verbatim%}
& Nbsp; Evitare il rendering del modello tramite il {endverbatim%%} {% block% verbatim}.
{% Endverbatim myblock%}
file ignorati estensioni
In django-template-frammenti di default ignora ogni file che termina con uno di quelli: .pyc .swo .swp ~
. È possibile specificare il proprio elenco definendo FRAGMENTS_IGNORED_FILE_TYPES nel tuo settings.py
Requisiti :
- Python
- Django
I commenti non trovato