如何在javascript中访问flask config?

2024-10-06 07:56:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要flask应用程序中javascript中的配置变量。目前,我通过以下方式访问配置变量:

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

这是用javascript获取flask配置的唯一方法吗?最好的做法是什么?在


Tags: 方法apiconfigapp应用程序flaskgetreturn
2条回答

如果需要将值作为API调用的一部分,那么是的,从端点发送值是正确的。如果要呈现模板,则可以在发送给客户端的JavaScript中呈现值。在

在模板中,Flask injects its config into the template context.或{}将访问配置中的任何值。因为您将其呈现为JavaScript,所以使用tojson过滤器来呈现有效值。在

var debug = {{ config['DEBUG']|tojson }};

您可以将特定变量加载到jinja2全局变量中,如下所示:

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

然后在总是包含的基模板中,将变量加载到javascript中,如下所示。在

^{pr2}$

或者把整个配置放到你的jinja2 env中,就像这样:

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

然后仅当在config中找到特定变量时才插入它。在

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

相关问题 更多 >