Javascript Flask:如何更改在render_模板中传递的值

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

我现在尝试使用flask来显示一些bokeh图和图片。bokeh部分很好,我可以更改源代码,从而使用ajax更新绘图。但是当我尝试更新图像的src时,我遇到了一些问题

首先,让我展示我的部分代码,我只是在render_template()中将一个名为“fname”的变量传递给html,并将其传递给img标记:

返回渲染模板('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!");
        }
    });
""")