user2212461 user2212461 - 7 months ago 45
Python Question

How to access flask config in javascript?

I need the config variables in javascript in my flask application. Currently, I access the config variables via:

@app.route('/api/getconfigs/')
def get_config_variable():
return config['VARIABLENAME']


Is this the only way to get the flask config in javascript? What would be the best practice to do this?

Answer

You could load the specific variable into your jinja2 globals like so:

app.jinja_env.globals.update(VARIABLENAME=config['VARIABLENAME'])

Then in an always included base-template load the variable into your javascript like so.

<script>
     var config = {};
     config.VARIABLENAME = {{VARIABLENAME}};
</script>

Or just throw the whole config into your jinja2 env like so:

app.jinja_env.globals.update(config=app.config)

And then insert the specific Variable only if it is found in config.

{% if config['VARIABLENAME'] %}
     <script>
         var config = {};
         config.VARIABLENAME = {{config['VARIABLENAME']}};
     </script>
{% endif %}
Comments