Jinja2 template engine u Django frameworku
- Detalji
- 23:44 05.11.2011

Jinja2 je moderni template engine namijenjen upotrebi u Pythonu, napravljen po uzoru na Django template engine. Osim što je daleko moćniji od Django template enginea, testovi brzine pokazuju da je u nekim situacijama i desetak puta brži.
Izdvojio bih nekoliko bitnih osobina radi kojih koristim Jinja2:
- brzina renderiranja stranice
- mogućnost prosljeđivanja parametara metodama i filterima
- postavljanje varijabli unutar templatea pomoću taga set
- python izrazi za testiranje uvjeta
- makroi
Django kao framework je dovoljno fleksibilan i modularan da se Jinja2 može bez većih problema integrirati u njega.
Za povezivanje Jinja2 template enginea i Djanga potreban je Coffin koji će ih povezati te implementirati neke od standardnih filtera Django template enginea.
Instalacija
Potrebne libove ćemo instalirati preko easy_installa (setuptools) ili preko pip-a:
$ sudo easy_install jinja2 coffin
Instalacija bi trebala proći bez problema i Jinja2 bi trebala biti spremna za upotrebu.
Integracija u Django aplikaciju
U settings.py ćemo dodati sljedeće stavke:
JINJA2_TEMPLATE_DIRS = TEMPLATE_DIRS
JINJA2_ENVIRONMENT_OPTIONS = {
# Jinja2 opcije
"auto_reload": DEBUG,
}
JINJA2_FILTERS = (
# filteri
)
JINJA2_TESTS = {
# test funkcije
}
JINJA2_GLOBALS = {
# globalne funkcije
}
JINJA2_EXTENSIONS = (
# ekstenzije
)
U pojedinim datotekama u kojima želimo koristiti Jinja2 umjesto Django template enginea zamijenit ćemo:
from django.shortcuts import render_to_response
from django.template import RequestContext
sa:
from coffin.shortcuts import render_to_response, render_to_string
from coffin.template import RequestContext
To je sve što je potrebno da bi Jinja2 integrirala u Django aplikaciju i izrenderirala stranicu.
U sljedećem postu ću se pozabaviti opcijama, filterima i globalnim funkcijama.
Izdvojeni projekti
Slobodni softver
Podržavamo slobodni softver otvorenog koda. Primijenit ćemo ga gdje god je to moguće.
Kontakt
Repetitor
obrt za informatičke tehnologije
Remetinečka cesta 151
Zagreb
OIB: 13595110799
Turistički portal vikendi.com
Zajednica internetskih trgovina svimi.net
Sustav za nadzor i upravljanje solarnim elektranama