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("https://stackoverflow.com/")
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="https://stackoverflow.com/questions/37259740/app.js")}}></script>
         <script type="text/javascript">
            myVar = myFunc({{data|tojson}})
         </script>
    </head>
</html>

Leave a Comment