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>