Maison  >  Article  >  développement back-end  >  Comment puis-je transmettre des données de Flask à JavaScript dans des modèles ?

Comment puis-je transmettre des données de Flask à JavaScript dans des modèles ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-28 13:01:30794parcourir

How Can I Pass Data from Flask to JavaScript in Templates?

Transmission de données de Flask vers JavaScript dans des modèles

Dans Flask, vous pouvez transmettre des données de votre code Python au code JavaScript dans vos modèles. Ceci est utile pour remplir des éléments interactifs tels que des cartes ou des graphiques.

Approche standard

Une méthode de base consiste à utiliser {{ variable }} dans votre modèle, qui peut contenir n'importe quelle valeur de votre code Python. Par exemple :

# Python code
geocode = (latitude, longitude)
return render_template('get_data.html', geocode=geocode)
# HTML template
<head>
  <script>
    var someJavaScriptVar = '{{ geocode[1] }}';
  </script>
</head>

Utilisation du filtre tojson

Jinja2 fournit également un filtre tojson. Cela peut être utilisé pour convertir un objet Python en une chaîne JSON, qui peut être directement transmise à JavaScript :

# Python code
geocode = (latitude, longitude)
return render_template('get_data.html', geocode=geocode|tojson)
# HTML template
<head>
  <script>
    var myGeocodeObj = {{ geocode|tojson }};
  </script>
</head>

Utilisation avancée

Jinja2 prend en charge diverses autres fonctionnalités pour la construction de JavaScript. code, y compris les boucles et les instructions conditionnelles. Pour plus d'informations, reportez-vous à la documentation Jinja2.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn