Passing variables from Flask to JavaScript Passing variables from Flask to JavaScript flask flask

Passing variables from Flask to JavaScript


The mobiusklein answers is pretty good, but there is "hack" you should consider. Define your Javascript method to receive params and send data as params to your function.

main.py

@app.route('/')def hello():    data = {'username': 'Pang', 'site': 'stackoverflow.com'}    return render_template('settings.html', data=data)

app.js

function myFunc(vars) {    return vars}

settings.html

<html>    <head>         <script type="text/javascript" {{ url_for('static', filename='app.js')}}></script>         <script type="text/javascript">            myVar = myFunc({{data|tojson}})         </script>    </head></html>


Simple way to pass variables from flask view to template to javascript file with simple example mentioned by @mauro.

main.py

@app.route('/')def hello():    data = {'username': 'Pang', 'site': 'stackoverflow.com'}    return render_template('settings.html', data=data)

settings.html

<html>    <head>         <script type="text/javascript">            var username = {{ data.username }}            var site = {{ data.site }}        </script>        <script type="text/javascript" src="app.js"></script>    </head></html>

app.js

function myFunc() {    return username + site}


<script type="text/javascript">   var username ='{{ data.username }}'   var site ='{{ data.site}}'<script>