Flask 通过 url_for() 向 python 发送变量数据

Flask send variable data to python through url_for()

我想通过 url_for() 从烧瓶 html/js 向 python 发送一个变量值。

Python代码:

@app.route('/video_feed/<device>')
def video_feed(device):
    # return the response generated along with the specific media
    # type (mime type)
    print(device)
    try:
        return Response(gen(int(device)),mimetype = "multipart/x-mixed-replace; boundary=frame")
    except Exception as e:
        return Response(gen(device),mimetype = "multipart/x-mixed-replace; boundary=frame")

烧瓶中所需 html 文件:

data.value = 0;
image.src = "{{ url_for('video_feed', device=data.value)}}";

但它不起作用,我收到错误消息:

jinja2.exceptions.UndefinedError: 'data' is undefined

这确实有效,但是我不能在 url_for() 中使用变量 data.value :

image.src = "{{ url_for('video_feed', device=0)}}";

我尝试了几种不同的方法,例如:

image.src = "{{ url_for('video_feed', device=${data.value})}}";
image.src = "{{ url_for('video_feed', device=$data.value)}}";
image.src = "{{ url_for('video_feed', device=%s)}}", data.value;

但似乎没有任何效果。我的javascript有点生疏了。

如有任何帮助,我们将不胜感激!

干杯!

url_for 在服务器端展开,在页面发送到浏览器之前以及 JavaScript 运行之前。

如果您知道页面生成时的数字(device/data.value),请通过 render_template() 将其传递给模板。

但是,如果您直到页面呈现后才知道该值,则需要从 JavaScript.

构造 img 元素