Как показать сгенерированный QR-код в сгенерированном PDF Django
Я хочу показать сгенерированный qr-код в моем сгенерированном PDF, но он не отображается. Если в html, то он отображается, но не в PDF. Я хочу показать qr-код в PDF без сохранения его на носитель
Вот мой код в файле views.py :
path_qr = 'localhost:8000/qrcode/detail/1'
qr = QRCode()
qr.add_data(path_qr)
img = qr.make_image()
data = {
'qr_code': img
}
template = get_template(template_src)
html = template.render(data)
result = BytesIO()
pdf1 = pisa.pisaDocument(BytesIO(html.encode("ISO-8859-1")), result)
return HttpResponse(result.getvalue(), content_type='application/pdf')
А вот мой код в html:
<img src="{{ qrcode }}" width="100" height="100">
Я нашел решение. Я должен кодировать в b64. и это работает
dataurl = 'data:image/png;base64,' + b64encode(qr_rend.getvalue()).decode('ascii')
поэтому мой код будет выглядеть следующим образом:
path_qr = 'localhost:8000/qrcode/detail/1'
qr_rend = BytesIO()
img = make(path_qr)
img.save(qr_rend, 'PNG')
dataurl = 'data:image/png;base64,' + b64encode(qr_rend.getvalue()).decode('ascii')
а в html вот так:
<img src="{{ dataurl }}" width="100" height="100">