如何在 jinja html 模板中发送图像?

Mic*_*sef 6 html python jinja2 flask

所以我已经有了 Flask + jinja 的设置,我试图在 jinja 渲染的 html 文件中显示图像。

在 Python 中,我将其转换为 base64,然后将其发送到模板。然后我使用图像标签来显示图像。

<img src="data:image/jpeg;base64,{{ myimage }}">
Run Code Online (Sandbox Code Playgroud)

我已经确认Python编码是正确的,当我简单地编写嵌入了base64的html文件时,它会按应有的方式显示。似乎失败的地方是模板对输出进行了一些修改。尤其:

<img src=3D"data:;base64,/9j/4QAYR
...
baW4WqWj/2Q=3D=3D"/>
Run Code Online (Sandbox Code Playgroud)

Jinja 似乎在搞鬼,在几个看起来不应该的地方添加了 3D 文本。我没有指定任何不同的内容,当我将 myimage 作为文本打印出来时,它按照我预期的方式出现,以 /9j 开头并以 /2Q== 结尾

我不确定我在 Jijna 中解释它的方式是否有问题,但它就是不加载。我在电子邮件源中看到图像 src 标签,但没有任何我期望加载图像的地方。

jac*_*rms 0

这看起来像是 URL 编码问题,因为=该 Base64 字母表中使用的字符是 ,其 URL 编码是%3Durllib.quote在使用 Jinja 渲染之前,尝试对 base64 数据执行 a 操作。