Django-sjabloon-fragmente is 'n helper vir templates gebruik word in JavaScript kliënt raamwerk.
Inleiding
Dikwels, wanneer jy 'n kliënt-kant javascript raamwerk (bv ruggraat / kool / hoekige / wathever), sal jy wil klein templates jou bladsy te lewer. Die probleem begin wanneer:
- Jy nog wil in staat wees om Django sjabloon enjin te gebruik
- En jy wil 'n koel plek om jou klein templates te definieer.
Dit is die 2 kwessies wat hierdie Django app probeer aanspreek. Dit kom ook met helper funksies vir dié soort van templates, soos die verbatim templatetags van Django 1.5 dev kode wat u toelaat om 'n sone waar Django sal nie interpreteer iets in stryd is met sjabloon tale soos mustache.js te vermy om te definieer.
Met dit, kan jy al jou klein templates in dieselfde gids definieer en jy sal in staat wees om dit te bekom in die fragmente javascript voorwerp wat die (gelewer deur Django) templates bevat.
Installasie
Van pip:
PIP installeer Django-template-fragmente
Van setup.py:
git kloon git: //github.com/Psycojoker/django-template-fragments.git
cd Django-template-fragmente
python setup.py installeer
Skep 'n rig waar jy wil jou fragmente te stoor, en voeg dan FRAGMENTS_DIR aan jou settings.py, moet dit 'n absolute pad wees.
Ek hou van my FRAGMENTS_DIR te definieer soos hierdie:
invoer os
PROJECT_PATH = os.path.abspath (os.path.split (__ __ lêer) [0])
SUBPROJECT_PATH = os.path.split (PROJECT_PATH) [0]
FRAGMENTS_DIR = os.path.join (SUBPROJECT_PATH, "fragmente")
Dit sal hy aan die gids project_name / fragmente (waar jou settings.py is in project_name / project_name / settings.py).
Volgende, skryf 'n paar klein html brokkies in hierdie rigting.
Dan voeg iets aan jou urls.py
url (r '^', sluit ('fragments.urls')),
En iewers in jou basis template
Dit gee jou 'n JavaScript voorwerp fragmente met al jou fragmente, die sleutel is om die lêernaam van die fragment sonder die uitbreiding.
Voorbeeld: object_list.html sal toeganklik wees in die fragmente wees beswaar soos hierdie: fragments.object_list
As jy die fragment in 'n subdir in die FRAGMENTS_DIR, sal die sleutel van die lêernaam wees sonder die uitbreiding by die subdir pad waar die / vervang _.
Nie duidelik? Hier is 'n voorbeeld: die lêer FRAGMENTS_DIR / een / twee / three.html toeganklik sal die sleutel one_two_three wees.
HamlPy ondersteuning
As jy HamlPy geïnstalleer en wat jou fragment die naam eindig met .haml is, sal Django Template-fragmente dit in ag neem en gebruik HamlPy die html te genereer.
Verbatim tag
Jy het fragmente te sit in jou geïnstalleer apps in settings.py vir hierdie om te werk.
Het ek code geneem uit die dev tak van Django 1.5 die gebruik van die verbatim templatetags te laat konflik tussen Django sjabloon sintaks en ander template engine sintaksis te vermy (bv n snor).
Voorbeeld:
{% Vrag fragmente%}
{{Will_be_interpreted}}
{% Woordeliks%}
{{Wont_be_interpredted}}
{% Endverbatim%}
Jy kan ook kies om 'n spesifieke sluittag soos beskryf in Django dokumentasie.
Voorbeeld uit die doc:
{% Vrag fragmente%}
{% Woordeliks myblock%}
& Nbsp; Vermy sjabloon lewering via die {% woordeliks%} {% endverbatim%} blok.
{% Endverbatim myblock%}
geïgnoreer lêers uitbreidings
By verstek Django-template-fragmente ignoreer elke lêers wat eindig een van daardie: .pyc .swo .swp ~
. Jy kan jou eie lys spesifiseer deur die definisie van FRAGMENTS_IGNORED_FILE_TYPES in jou settings.py
Vereistes :
- Python
- Django
Kommentaar nie gevind