首页 文章

使用Flask提供javascript文件时注入常量(例如,API密钥)

提问于
浏览
0

我有一个使用Flask和Jinja2的Web应用程序 . 我想注入不同的API密钥,具体取决于我是否在 生产环境 或测试中为该网站提供服务 .

我可以使用Jinja模板引擎注入它们并使用内联 <script> -tags然后从我的其他JS访问它们 . 但最好是我想在我的.js文件中使用某种非常简单的模板字符串,如下所示:

_ready: Keen.ready(function() {
    var client = new Keen({
        projectId: $KEEN_PROJECT_ID$, 
        writeKey: $KEEN_WRITE_KEY$
    });

然后在Flask提供文件时替换这些关键字 . 当然,根据服务器运行的环境更改常量的值 .

这有什么好方法吗?

1 回答

  • 0

    这样做的一个好方法是向jinja添加一个全局 . 看到这个answer

    然后,您可以在任何需要的位置注入api密钥,并通过在其他位置使用查找逻辑来保持模板代码的清洁

相关问题