Javascript Flask:如何更改在render_模板中传递的值
我现在尝试使用flask来显示一些bokeh图和图片。bokeh部分很好,我可以更改源代码,从而使用ajax更新绘图。但是当我尝试更新图像的src时,我遇到了一些问题 首先,让我展示我的部分代码,我只是在render_template()中将一个名为“fname”的变量传递给html,并将其传递给img标记:Javascript Flask:如何更改在render_模板中传递的值,javascript,python,flask,bokeh,Javascript,Python,Flask,Bokeh,我现在尝试使用flask来显示一些bokeh图和图片。bokeh部分很好,我可以更改源代码,从而使用ajax更新绘图。但是当我尝试更新图像的src时,我遇到了一些问题 首先,让我展示我的部分代码,我只是在render_template()中将一个名为“fname”的变量传递给html,并将其传递给img标记: 返回渲染模板('index.html', 脚本=脚本, div=div, fname=fname, js_resources=INLINE.render_js(), css\u resou
返回渲染模板('index.html',
脚本=脚本,
div=div,
fname=fname,
js_resources=INLINE.render_js(),
css\u resources=INLINE.render\u css())
在html中,如下所示:
<img id="frame" src= {{ url_for('static', filename=fname ) | safe}} />
我使用alert测试fname,它是正确的,但“fname”似乎不是我在render_template()中传递的fname,因此实际上图像路径没有更改
当然还有另一个解决方案,只要找到img并完全改变它的src,但是在这种情况下,我必须给出绝对路径而不是相对路径
**这里是我的问题:*我如何通过ajax请求更改“fname”,而不仅仅是更改整个src路径,因为我想使用我定义的“静态”路径
谢谢
callback = CustomJS(args=dict(imgDir=img_dir, fname=fname), code="""
var x = Math.floor(cb_obj.x);
var dir = imgDir;
var fname = fname;
jQuery.ajax({
type: 'POST',
url: '/img',
data: {"idx": x},
dataType: 'json',
success: function (response) {
fname = response['fname'];
alert(fname);
fname.change.emit();
},
error: function() {
alert("An error occured!");
}
});
""")