2024-10-06 07:56:10 发布
网友
我需要flask应用程序中javascript中的配置变量。目前,我通过以下方式访问配置变量:
@app.route('/api/getconfigs/') def get_config_variable(): return config['VARIABLENAME']
这是用javascript获取flask配置的唯一方法吗?最好的做法是什么?在
如果需要将值作为API调用的一部分,那么是的,从端点发送值是正确的。如果要呈现模板,则可以在发送给客户端的JavaScript中呈现值。在
在模板中,Flask injects its config into the template context.或{}将访问配置中的任何值。因为您将其呈现为JavaScript,所以使用tojson过滤器来呈现有效值。在
tojson
var debug = {{ config['DEBUG']|tojson }};
您可以将特定变量加载到jinja2全局变量中,如下所示:
app.jinja_env.globals.update(VARIABLENAME=config['VARIABLENAME'])
然后在总是包含的基模板中,将变量加载到javascript中,如下所示。在
或者把整个配置放到你的jinja2 env中,就像这样:
app.jinja_env.globals.update(config=app.config)
然后仅当在config中找到特定变量时才插入它。在
{% if config['VARIABLENAME'] %} <script> var config = {}; config.VARIABLENAME = {{config['VARIABLENAME']}}; </script> {% endif %}
如果需要将值作为API调用的一部分,那么是的,从端点发送值是正确的。如果要呈现模板,则可以在发送给客户端的JavaScript中呈现值。在
在模板中,Flask injects its config into the template context.或{}将访问配置中的任何值。因为您将其呈现为JavaScript,所以使用
tojson
过滤器来呈现有效值。在您可以将特定变量加载到jinja2全局变量中,如下所示:
然后在总是包含的基模板中,将变量加载到javascript中,如下所示。在
^{pr2}$或者把整个配置放到你的jinja2 env中,就像这样:
然后仅当在config中找到特定变量时才插入它。在
相关问题 更多 >
编程相关推荐