class
Jinja2
¶
Jinja2
o'rnatilishini talab qiladi :
...\>
py -m pip install Jinja2
Jinja2
dvigatelini sozlash uchun
BACKEND
ni
'django.template.backends.jinja2.Jinja2'
ga sozlang.
APP_DIRS True
boʻ lsa,
Jinja2
dvigatellari oʻ rnatilgan ilovalarning
jinja2
quyi katalogidan shablonlarni qidiradi.
OPTIONS
dagi eng muhim yozuv bu
'environment'
. Bu Jinja2 muhitini qaytaradigan chaqiruvga olib boradigan nuqtali
Python yo'li. U sukut bo'yicha
'jinja2.Environment'
ga o'rnatiladi. Django ushbu chaqiruvni chaqiradi va boshqa
variantlarni kalit so'z argumentlari sifatida uzatadi. Bundan tashqari, Django bir nechta variant uchun Jinja2-dan farq
qiladigan standart sozlamalarni qo'shadi:
'autoescape'
:
True
'loader'
:
DIRS
va
APP_DIRS
uchun sozlangan yuklovchi
.
'auto_reload'
:
settings.DEBUG
'undefined'
:
DebugUndefined if settings.DEBUG else Undefined
Jinja2
dvigatellari quyidagi
OPTIONS
ni ham qabul qiladi:
'context_processors'
: shablon so'rov bilan ko'rsatilganda kontekstni to'ldirish uchun foydalaniladigan chaqiruv
uchun nuqtali Python yo'llari ro'yxati. Ushbu chaqiriladiganlar so'rov ob'ektini argument sifatida qabul qiladi va
kontekstga birlashtirilishi kerak bo'lgan elementlarning
dict
ini qaytaradi.
Bu bo'sh ro'yxatga sukut bo'yicha.
Jinja2 shablonlari bilan kontekst protsessorlaridan foydalanish tavsiya etilmaydi.
Kontekst protsessorlari Django shablonlari uchun foydalidir, chunki Django shablonlari argumentlar bilan chaqiruv
funksiyalarini qo'llab-quvvatlamaydi. Jinja2-da bunday cheklov yo'qligi sababli, quyida tavsiflanganidek,
Do'stlaringiz bilan baham: |