gpt4 book ai didi

html - 在 Django 中显示来自 qrcode 的 SVG 图像

转载 作者:行者123 更新时间:2023-12-02 19:25:40 25 4
gpt4 key购买 nike

根据qrcode文档中,我生成了一个 SVG QR 代码:

import qrcode
import qrcode.image.svg
def get_qrcode_svg( uri ):
img = qrcode.make( uri, image_factory = qrcode.image.svg.SvgImage)
return img

这一切都很好。我得到一个<qrcode.image.svg.SvgImage object at 0x7f94d84aada0>对象。
我现在想在 Django html 中显示它。我将此对象作为上下文传递(如 qrcode_svg )并尝试使用 <img src="{{qrcode_svg}}"/> 显示但这样做并没有真正取得任何进展。该错误表明它正在尝试获取 img url,但是有没有办法可以在不保存 img 等的情况下执行此操作?终端输出:

>>> UNKNOWN ?????? 2020-06-16 07:38:28.295038 10.0.2.2 GET 
/user/<qrcode.image.svg.SvgImage object at 0x7f94d84aada0>
Not Found: /user/<qrcode.image.svg.SvgImage object at 0x7f94d84aada0>
"GET /user/%3Cqrcode.image.svg.SvgImage%20object%20at%200x7f94d84aada0%3E HTTP/1.1" 404 32447

最佳答案

您可以将其写入响应流:

import qrcode
from qrcode.image.svg import SvgImage
from django.http import HttpResponse
from bytesIO import bytesIO

def get_qrcode_svg(uri):
stream = bytesIO()
img = qrcode.make( uri, image_factory=SvgImage)
img.save(stream)
return stream.getvalue().decode()

这将传递 svg ,而不是带有源代码的URI。在模板中,您可以使用以下命令进行渲染:

<b>{{ qrcode_svg|safe }}</b>

关于html - 在 Django 中显示来自 qrcode 的 SVG 图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62434523/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com