Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Menghantar Data dari Flask ke JavaScript dalam Templat?

Bagaimana untuk Menghantar Data dari Flask ke JavaScript dalam Templat?

Susan Sarandon
Susan Sarandonasal
2024-10-31 02:29:29710semak imbas

How to Pass Data from Flask to JavaScript in Templates?

Mengirim Data dari Flask ke JavaScript dalam Templat

Apabila bekerja dengan Flask, selalunya perlu menghantar data dari hujung belakang ke bahagian hadapan untuk manipulasi oleh JavaScript. Ini boleh dicapai melalui templat pemaparan.

Mengirim Data ke JavaScript

Enjin templat Jinja2 yang digunakan oleh Flask membolehkan kami mengakses pembolehubah Python terus dalam templat. Untuk menghantar pembolehubah daripada Python kepada JavaScript, cukup sertakan dengan pendakap kerinting berganda {{ }}:

<code class="html"><head>
  <script>
    var myVariable = '{{ my_python_variable }}';
  </script>
</head></code>

Contoh: Melepasi Data Geospatial

Pertimbangkan senario berikut di mana kita ingin lulus kamus geokoordinat ke API Peta Google dalam templat:

<code class="python"># Assuming 'events' is a dictionary
geocode = event['latitude'], event['longitude']
return render_template('my_template.html', geocode=geocode)</code>

Untuk menjadikan data ini tersedia dalam JavaScript, kami boleh menggunakan Jinja2:

<code class="html"><head>
  <script>
    var lat = '{{ geocode[0] }}';
    var lng = '{{ geocode[1] }}';
  </script>
</head></code>

Alternatif: Menggunakan Penapis tojson

Jinja2 menawarkan penapis tojson yang menukar objek Python kepada rentetan JSON, yang boleh dibenamkan terus ke dalam pembolehubah JavaScript:

<code class="html"><script>
  var geocode = {{ geocode|tojson }};
</script></code>

Atas ialah kandungan terperinci Bagaimana untuk Menghantar Data dari Flask ke JavaScript dalam Templat?. 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