Rumah >hujung hadapan web >tutorial css >Templating dengan Jinja2 dalam Flask: Essentials

Templating dengan Jinja2 dalam Flask: Essentials

Lisa Kudrow
Lisa Kudrowasal
2025-02-28 09:10:17384semak imbas

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.

pek pemasangan

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>

Mengapa anda memerlukan enjin templat?

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:

flask_app/templates/home.html

<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.

Templating With Jinja2 in Flask: Essentials

Ringkasan

Dalam tutorial ini, kami belajar bagaimana menggunakan struktur templat susun atur Jinja2 dalam aplikasi berasaskan flask. Kami juga belajar bagaimana menggunakan blok untuk memanfaatkan warisan dalam templat.

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:onclick (atribut html)Artikel seterusnya:onclick (atribut html)