Comment passer des données jinja2 en javascript. J'ai un Flask REST url as /logs/<test_case_name>
J'essaie d'utiliser .getJSON()
pour interroger l'URL ci-dessus et donc serait voulez passer les données jinja2 qui ont le nom testcasename à la fonction .getJSON
.
exemple de code:
<script type="text/javascript">
alert({{name}});
</script>
Ça ne marche pas. Des suggestions s'il vous plait?
autre que l'encapsulation de la variable dans une chaîne, une alternative est jquery for profit:
c'est généralement une mauvaise idée de mélanger la langue du modèle avec javascript. Une alternative serait d'utiliser html comme proxy - stocker le nom dans un élément comme ça
<meta id="my-data" data-name="{{name}}" data-other="{{other}}">
puis dans le javascript faire
var djangoData = $('#my-data').data();
cela a l'avantage de:
Essayez avec des guillemets:
alert("{{name}}");
Je sais que c'est un sujet un peu ancien, mais comme il attire beaucoup de vues, je suppose que certaines personnes recherchent toujours une réponse.
Voici la façon la plus simple de le faire:
var name = {{name|tojson}};
Il 'analysera' quel que soit le 'nom' et l'affichera correctement: https://sopython.com/Canon/93/render-string-in-jinja-to-javascript-variable/
Voici comment je l'ai fait
Mon élément html
<!--Proxy Tag for playlist data-->
<meta id="my_playlist_data" data-playlist="{{ playlist }}">
Mon élément de script
// use Jquery to get data from proxy Html element
var playlist_data = $('#my_playlist_data').data("playlist");
Voir . Data () documentation pour plus