django-mall-fragment är en hjälpreda för mallar som används i JavaScript-klient ramverk.
Introduktion
Ofta när du använder en klientsidan javascript ram (t.ex. ryggrad / glöd / kantig / wathever), du vill små mallar för att göra din sida. Problemet börjar när:
- Du fortfarande vill kunna använda django mall motor
- Och du vill ha en sval plats att definiera dina små mallar.
Det är de två frågor som denna django appen försöker åtgärda. Det kommer också med hjälpare funktioner för dessa slags mallar, liksom de ordagranna templatetags från django 1.5 dev kod som gör att du kan definiera en zon där django inte tolka något för att undvika konflikter med mallspråk som mustache.js.
Med det, definierar du alla dina små mallar i samma katalog och du kommer att kunna komma åt dem i fragmenten javascript objekt som innehåller de (utförda av django) mallar.
Installation
Från pip:
Pip installera django-template-fragment
Från setup.py:
git clone git: //github.com/Psycojoker/django-template-fragments.git
cd django-mall-fragment
Python setup.py installera
Skapa en dir där du vill lagra dina fragment, lägg sedan till FRAGMENTS_DIR till din settings.py, måste det vara en absolut sökväg.
Jag gillar att definiera min FRAGMENTS_DIR såhär:
import os
PROJECT_PATH = os.path.abspath (os.path.split (__ fil __) [0])
SUBPROJECT_PATH = os.path.split (PROJECT_PATH) [0]
FRAGMENTS_DIR = os.path.join (SUBPROJECT_PATH, "fragment")
Detta kommer att ställa in den till katalogen projektnamn / fragment (där din settings.py är i projektnamn / projektnamn / settings.py).
Nästa, skriva några små html snuttar i detta dir.
Lägg sedan till något sådant här till din urls.py
url (r '^', omfattar ("fragments.urls ')),
Och någonstans i din bas mall
Detta kommer att ge dig ett JavaScript-objekt fragment som innehåller alla dina fragment, är nyckeln filnamnet av fragmentet utan förlängning.
Exempel: object_list.html kommer att vara tillgänglig i fragmenten invända såhär: fragments.object_list
Om du sätter fragment i en subdir i FRAGMENTS_DIR, kommer nyckeln att vara filnamnet utan dess förlängning anslöt med subdir banan där / ersätts av _.
Oklart? Här är ett exempel: filen FRAGMENTS_DIR / en / två / three.html kommer att vara tillgänglig på nyckel one_two_three.
HamlPy support
Om du har HamlPy installerat och att din fragment namnet slutar med .haml kommer django-mall-fragment ta hänsyn till och använda HamlPy att generera html.
Verbatim taggen
Du måste sätta fragment i dina installerade appar i settings.py för att detta ska fungera.
Jag har tagit koden från dev gren av django 1.5 för att tillåta användning av de ordagranna templatetags att undvika konflikter mellan django mallsyntax och annan mall motor syntax (t.ex. mustasch).
Exempel:
{% Belastning fragment%}
{{Will_be_interpreted}}
{% Ordagrant%}
{{Wont_be_interpredted}}
{% Endverbatim%}
Du kan också välja en specifik sluttagg som beskrivs i django dokumentation.
Exempel från doc:
{% Belastning fragment%}
{% Ordagrant myblock%}
& Nbsp; Undvik mall rendering via {% ordagrant%} {% endverbatim%} blocket.
{% Endverbatim myblock%}
Ignorerade filer förlängningar
Som standard django-mall-fragment ignorerar varje filer som slutar med en av dem: .pyc .swo .swp ~
. Du kan ange din egen lista genom att definiera FRAGMENTS_IGNORED_FILE_TYPES i din settings.py
Krav :
- Python
- Django
Kommentarer hittades inte