我有一个使用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 回答
这样做的一个好方法是向jinja添加一个全局 . 看到这个answer
然后,您可以在任何需要的位置注入api密钥,并通过在其他位置使用查找逻辑来保持模板代码的清洁