Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to pass jinja2 variables into javascript snippet

How do i pass jinja2 data into javascript. I have a Flask REST url as /logs/<test_case_name> I am trying use .getJSON() to query the above URL and hence would want to pass the jinja2 data which has the testcasename to .getJSON function.

sample code:

<script type="text/javascript">   alert({{name}}); </script> 

It doesn't work. Any suggestions please?

like image 993
deeshank Avatar asked Feb 07 '14 11:02

deeshank


1 Answers

other than encapsulating the variable in a string, an alternate is jquery for profit:

its generally a bad idea to mix template language with javascript. An alternative would be to use html as a proxy - store the name in an element like so

<meta id="my-data" data-name="{{name}}" data-other="{{other}}"> 

then in the javascript do

var djangoData = $('#my-data').data(); 

this has advantage in:

  • javascript no longer tied to the .html page
  • jquery coerces data implicitly
like image 75
Django Doctor Avatar answered Oct 12 '22 14:10

Django Doctor