django-overextends este o aplicatie reutilizabil Django furnizarea de tag-ul șablon overextends, o înlocuire drop-in pentru a Django extinde tag-ul, care vă permite să utilizați moștenire șablon circular.
Primar utilizare cazul overextends este de a trece peste simultan și extinde template-uri de la alte aplicații reutilizabile, în Site proiect propriu Django.
Exemplul
Luați în considerare următorul modul și șabloanele setări, cu app1 aplicații și APP2 incluse în proiect, de dragul exemplu lui:
# Settings.py
INSTALLED_APPS = (
& Nbsp; "app1",
& Nbsp; "app2",
& Nbsp; "overextends",
)
TEMPLATE_LOADERS = (
& Nbsp; "django.template.loaders.filesystem.Loader",
& Nbsp; "django.template.loaders.app_directories.Loader",
)
PROJECT_ROOT = os.path.dirname (os.path.abspath (__ file__))
TEMPLATE_DIRS = (os.path.join (PROJECT_ROOT, "template"),)
Titlu
{% Bloc principal%}
Un paragraf în app1
{% Enblock%}
{% Overextends "pagini / page.html"%}
{% Bloc principal%}
Un paragraf în app2, care vrea să fie pe partea de sus a blocului principal app1 lui
{{Block.super}}
{% Enblock%}
{% Overextends "pagini / page.html"%}
{% Bloc principal%}
{{Block.super}}
Un paragraf în directorul șablon proiectului, în conformitate cu celelalte blocuri principale
{% Enblock%}
HTML rezultat pronunțată în cazul pagini / page.html a fost încărcat ar fi:
Titlu
Un paragraf în app2, care vrea să fie pe partea de sus a blocului principal app1 lui
Un paragraf în app1
Un paragraf în directorul șablon proiectului, în conformitate cu celelalte blocuri principale
Copyright 2012
Pentru o analiză detaliată a ce ar folosi această abordare, cum funcționează, și abordări alternative, citiți meu post pe blog inițială: Moștenirea Model circular pentru Django.
Instalare
Cel mai simplu mod de a instala django-overextends este direct de la PyPi utilizarea pip rulând următoarea comandă:
& Nbsp; pip instala -u django-overextends
În caz contrar, puteți descărca django-overextends și instalați-o direct de la sursă:
& Nbsp; piton setup.py instalare
Configurare proiectului
Odată instalat puteți configura proiectul dvs. de a utiliza django-overextends prin adăugarea aplicația overextends la INSTALLED_APPS în modulul setările proiectului dumneavoastră:
INSTALLED_APPS = (
& Nbsp; # ... alte aplicații de aici ...
& Nbsp; "overextends",
)
Rețineți că în timp ce se extinde tag este asigurată de overextends.templatetags.overextends_tags pachete, este necesar de a utiliza {% sarcină overextends_tags%} în șabloane. Ca se extinde tag-ul, overextends trebuie să fie primul tag-ul în șablonul dvs., astfel încât acesta este adăugat automat la lui Django built-in tag-uri șablon, eliminând necesitatea de a încărca biblioteca tag-ul în fiecare șablon.
Cerințe :
- Python
- Django
Comentariile nu a fost găsit