如何在Python中创建二维码而不将其另存为图像?

Mou*_*ima 2 python django qr-code django-templates django-apps

我正在尝试使用以下代码在 Django 应用程序上使用 Python 制作二维码:

def generate_qr_code (reference):
    qr = qrcode.QRCode(
    version=1,
    error_correction=qrcode.constants.ERROR_CORRECT_H,
    box_size=10,
    border=4,
    )
    qr.add_data(reference)
    qr.make(fit=True)
    img = qr.make_image(fill_color="black", back_color="white").convert('RGB')
    filename = reference+".jpeg"
    img.save("C:\\qrs\\"+filename)
Run Code Online (Sandbox Code Playgroud)

现在,当我单击“生成二维码”按钮时,将调用此函数。我的问题是,我希望二维码显示在浏览器的新选项卡上,而不是将其保存为图像,因为当时我只需要将它们打印在纸上,不需要保留图像。

感谢您的帮助。

aSa*_*ary 5

将图像转换为 base64 并将其显示在您的 html 中,如下所示

import base64
b64 = base64.b64encode(image).decode("utf-8")
Run Code Online (Sandbox Code Playgroud)

更新:

ofc 你不需要将图像保存为 png 来使用此功能,你可以更改 html 中的格式,也可以更改图像格式而不将其保存到这样的文件中