Rumah >hujung hadapan web >tutorial css >Templating dengan Jinja2 dalam Flask: Essentials
jinja2: enjin templat yang cekap dalam aplikasi flask
Jinja2 adalah enjin template python yang ditulis yang menyediakan sintaks bukan XML seperti Django, sambil menyokong ekspresi inline dan persekitaran sandboxing pilihan. Ia adalah padat, cepat dan mudah digunakan dan merupakan enjin templat mandiri. Flask adalah kerangka web berasaskan Python kecil yang membolehkan anda menulis aplikasi web dengan cepat dan cekap.
Siri tutorial ini akan menerangkan pengetahuan asas templat Jinja2 dari perspektif Flask. Bahagian berikut akan memperkenalkan topik templat lanjutan dan belajar bagaimana untuk templat susun atur dalam cara modular dan berskala dalam aplikasi berasaskan flask.
Tutorial ini mengandaikan bahawa anda telah menguasai asas -asas kelalang dan memahami amalan terbaik untuk menubuhkan persekitaran menggunakan Virtualenv untuk pembangunan aplikasi Python.
Flask datang dengan Jinja2, jadi kita hanya perlu memasang Flask. Siri tutorial ini mengesyorkan menggunakan versi pembangunan Flask, yang termasuk sokongan baris perintah yang lebih stabil, serta banyak ciri dan penambahbaikan lain.
<code class="language-bash">pip install https://github.com/mitsuhiko/flask/tarball/master</code>
Dalam flask, kita boleh menulis aplikasi web lengkap tanpa sebarang enjin templat pihak ketiga. Mari kita lihat contoh mudah jika, lain dan {% %}
blok. Kemas kini halaman home.html
seperti berikut:
<code class="language-html+jinja">{% extends 'base.html' %} {% block container %} <div class="top-pad"> {% for id, product in products.items() %} <div class="well"> <h2> <a href="https://www.php.cn/link/0bbfd30c6d7efe2fff86061e79c010db'product',%20key=id)%20%7D%7D">{{product['name']}}</a> <small>$ {{ product['price']}}</small> </h2> </div> {% endfor %} </div> {% endblock %}</code>
Tonton bagaimana templat ini memanjangkan penapis atas seperti yang ditunjukkan di bawah:
<code class="language-html+jinja">{% extends 'base.html' %} {% block container %} <div class="top-pad"> {% for id, product in products.items() %} <div class="well"> <h2> <a href="https://www.php.cn/link/0bbfd30c6d7efe2fff86061e79c010db'product',%20key=id)%20%7D%7D">{{product['name']|upper}}</a> <small>$ {{ product['price']}}</small> </h2> </div> {% endfor %} </div> {% endblock %}</code>
Sekarang, jika anda menjalankan pelayan, anda harus melihat bahawa nama produk semuanya dipermodalkan.
Di bahagian seterusnya siri ini, kami akan belajar bagaimana menulis penapis tersuai, pemproses konteks tersuai, dan makro.
Artikel ini telah dikemas kini dan mengandungi sumbangan dari Esther Vaati. Esther adalah pemaju perisian dan penyumbang kepada Envato Tuts.
Atas ialah kandungan terperinci Templating dengan Jinja2 dalam Flask: Essentials. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!