Jinja
Jinja ( jinja deb talaffuz qilinadi) Python dasturlash tili uchun shablonlash mexanizmi . U Django shablon mexanizmiga o'xshaydi, lekin Pythonga o'xshash ifodalarni taqdim etadi, bu shablonlarni vaqtinchalik muhitda bajarishga imkon beradi. Bu matn shablonlari mexanizmi, shuning uchun undan har qanday belgilash va manba kodini yaratish uchun foydalanish mumkin. BSD litsenziyasi ostida litsenziyalangan.
Jinja shablon mexanizmi - teglar [1], filtrlar, testlar va global oʻzgaruvchilarni [2] sozlash imkonini beradi. Bundan tashqari, Django shablon mexanizmidan farqli o'laroq, Jinja shablon konstruktoriga obyektlardagi argumentlar bilan funktsiyalarni chaqirish imkonini beradi.
Jinja, Smarty kabi, Unix konveyeriga o'xshash foydalanish uchun qulay filtr tizimi bilan birga keladi.
Misol
[tahrir | manbasini tahrirlash]Oddiy shablonga misol:
from jinja import from_string
tmpl = from_string('''\
<html>
<head><title>{{ variable|escape }}</title></head>
<body>
{% for item in item_list %}
{{ item }}{% if not loop.last %},{% endif %}
{% endfor %}
</body>
</html>''')
print(tmpl.render(
variable='Value with <unsafe> data',
item_list=[1, 2, 3, 4, 5, 6]
))
HTMLdagi natija:
<html>
<head><title>Value with <unsafe> data</title></head>
<body>
1,
2,
3,
4,
5,
6
</body>
</html>
Qo'llanilishi
[tahrir | manbasini tahrirlash]( Flask ) Veb-freymvorklardan tashqari, Jinja2, masalan, SaltStack [3] va Ansible konfiguratsiyalarni boshqarish tizimida ham qo'llaniladi.
Eslatmalar
[tahrir | manbasini tahrirlash]- ↑ „Extensions — Jinja2 2.7-dev documentation“. 2010-yil 30-sentyabrda asl nusxadan arxivlangan. Qaraldi: 2012-yil 27-yanvar.
- ↑ „Extensions — Jinja2 2.7-dev documentation“. 2010-yil 30-sentyabrda asl nusxadan arxivlangan. Qaraldi: 2012-yil 27-yanvar.
- ↑ Colton Myers „Chapter 5. Expanding Our States with Jinja2 and Pillar“,. Learning SaltStack. Packt Publishing, 2015. ISBN 978-1-78439-901-6.
Adabiyot
[tahrir | manbasini tahrirlash]- Cunningham, K.. Python in 24 Hours, Sams Teach Yourself. Pearson Education, 2013. ISBN 9780133354461.