TL; DR->是否可以将JS var字符串传递到{{}}中以从Flask应用程序检索Python var?
与其编写多个JS代码块的迭代,而每个迭代仅使用稍有不同的Jinja变量(具有相似的约定),例如:
//PTC Color Change
if ({{ptc_precip_probs[1]}} <= 25 && {{ptc_precip_probs[2]}} <= 25) {
$("#ptc_block").css("background", "#21CE99"); //green
} else {
$("#ptc_block").css("background", "#F45531"); //red
}
//COL Color Change
if ({{col_precip_probs[1]}} <= 25 && {{col_precip_probs[2]}} <= 25) {
$("#col_block").css("background", "#21CE99"); //green
} else {
$("#col_block").css("background", "#F45531"); //red
}enter code here
是否可以执行以下操作:
var cities = ["nrg", "rrg", "gsm", "ptc", "col"];
for (var city in cities){
var block = "."+cities[city]+"_block";
var precipOne = String(cities[city])+"_precip_probs[1]";
var precipTwo = String(cities[city])+"_precip_probs[2]";
if ({{precipOne}} <= 25 && {{precipTwo}} <= 25) {
$(String(block)).css("background", "#21CE99"); //green
} else {
$((block)).css("background", "#F45531"); //red
}
}
当我尝试执行此确切操作时,却收到Jinja2错误。
答案 0 :(得分:1)
否,因为JS是客户端。来自http://jinja.pocoo.org/docs/2.10/templates/#
模板包含变量和/或表达式,将其替换 呈现模板时的值;和标签,用于控制 模板的逻辑。模板语法受到以下方面的极大启发 Django和Python。
但是,如果您希望从flask应用程序中获取一个变量,则可以按照此处Include html file in Jinja2 template
中的演示内容将其传递给render_template函数。