utiliza - que se hace con javascript
No se pueden pasar las variables de jinja2 en el fragmento de JavaScript (3)
Prueba con las comillas
alert("{{name}}");
¿Cómo paso los datos de jinja2 a javascript? Tengo una url REST de Flask como /logs/<test_case_name>
Estoy intentando usar .getJSON()
para consultar la URL anterior y, por lo tanto, quisiera pasar los datos de jinja2 que tienen la función testcasename a .getJSON
.
Código de muestra:
<script type="text/javascript">
alert({{name}});
</script>
No funciona Alguna sugerencia por favor?
aparte de encapsular la variable en una cadena, una alternativa es jquery con fines de lucro:
generalmente es una mala idea mezclar el lenguaje de plantilla con javascript. Una alternativa sería usar html como un proxy - almacenar el nombre en un elemento como tal
<meta id="my-data" data-name="{{name}}" data-other="{{other}}">
luego en el javascript do
var djangoData = $(''#my-data'').data();
esto tiene una ventaja en:
- JavaScript ya no está vinculado a la página .html
- jquery coacciona datos implícitamente
Así es como lo hice
Mi elemento html
<!--Proxy Tag for playlist data-->
<meta id="my_playlist_data" data-playlist="{{ playlist }}">
Mi elemento script
// use Jquery to get data from proxy Html element
var playlist_data = $(''#my_playlist_data'').data("playlist");
Ver .data() documenttation para más