Bagaimana untuk Menghantar Data dari Flask ke JavaScript dalam Templat Menggunakan Jinja2?

Susan Sarandon
Lepaskan: 2024-10-27 21:58:01
asal
981 orang telah melayarinya

How to Pass Data from Flask to JavaScript in Templates Using Jinja2?

Mengirim Data dari Flask ke JavaScript dalam Templat

Apabila mengambil data daripada API dalam aplikasi Flask, mungkin terdapat keperluan untuk lulus maklumat itu kepada JavaScript dalam templat yang sepadan. Artikel ini meneroka cara untuk mencapai perkara ini dengan memanfaatkan kuasa templat Jinja2.

Dalam Flask, fungsi render_template membolehkan kami menghantar pembolehubah kepada templat HTML. Walau bagaimanapun, untuk menjadikan pembolehubah ini tersedia dalam JavaScript, langkah tambahan diperlukan.

Jinja2, enjin templat yang digunakan oleh Flask, menyediakan sintaks yang membolehkan pembenaman ungkapan Python dalam templat. Ini bermakna kita boleh menggunakan {{ pembolehubah }} di mana-mana dalam templat, termasuk dalam skrip JavaScript.

Sebagai contoh, pertimbangkan laluan Flask berikut yang mendapatkan koordinat daripada API:

<code class="python">@app.route('/')
def get_data():
    events = api.call(get_event, arg0, arg1)
    geocode = event['latitude'], event['longitude']
    return render_template('get_data.html', geocode=geocode)</code>
Salin selepas log masuk

Dalam templat yang sepadan, kami boleh menghantar pembolehubah geokod kepada JavaScript seperti:

<code class="html"><script>
var someJavaScriptVar = '{{ geocode[1] }}';
</script></code>
Salin selepas log masuk

Ini membolehkan kami mengakses nilai geokod[1] sebagai someJavaScriptVar dalam kod JavaScript kami.

Sebagai alternatif, untuk menghantar pembolehubah geokod sebagai tatasusunan, kita boleh menjana definisi tatasusunan dalam templat:

<code class="html"><script>
var myGeocode = ['{{ geocode[0] }}', '{{ geocode[1] }}'];
</script></code>
Salin selepas log masuk

Jinja2 juga menyokong binaan yang lebih maju, seperti gelung dan pernyataan if, yang boleh digunakan untuk memudahkan penjanaan struktur data yang kompleks.

Selain itu, penapis tojson boleh digunakan untuk menukar tuple geokod kepada rentetan JSON, menjadikannya lebih sesuai untuk digunakan dalam JavaScript:

<code class="html"><script>
var myGeocode = {{ geocode | tojson }};
</script></code>
Salin selepas log masuk

Dengan teknik ini, pembangun boleh berkongsi data dengan lancar antara Flask dan JavaScript, membolehkan aplikasi web interaktif dan dinamik.

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data dari Flask ke JavaScript dalam Templat Menggunakan Jinja2?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!