Jinja

Vikipediya, ochiq ensiklopediya

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 &lt;unsafe&gt; 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]

  1. „Extensions — Jinja2 2.7-dev documentation“. 30-sentabr 2010-yilda asl nusxadan arxivlandi. Qaraldi: 27-yanvar 2012-yil.
  2. „Extensions — Jinja2 2.7-dev documentation“. 30-sentabr 2010-yilda asl nusxadan arxivlandi. Qaraldi: 27-yanvar 2012-yil.
  3. Colton Myers „Chapter 5. Expanding Our States with Jinja2 and Pillar“,. Learning SaltStack. Packt Publishing, Lua xatosi: bad argument #2 to 'formatDate': invalid timestamp 'Yanvar'.. ISBN 978-1-78439-901-6. 

Adabiyot[tahrir | manbasini tahrirlash]

  • Cunningham, K.. Python in 24 Hours, Sams Teach Yourself. Pearson Education, Lua xatosi: bad argument #2 to 'formatDate': invalid timestamp 'Yanvar'.. ISBN 9780133354461. 

Havolalar[tahrir | manbasini tahrirlash]