如何在python中生成条形码作为图像对象的响应

时间:2019-02-11 17:55:28

标签: python django python-3.x django-rest-framework barcode

Views.py:

def Bar(request):
    payload = json.loads(request.body.decode('utf-8'))
    a=payload["donor_n_key"]
    ean = barcode.get('code128', a, writer=ImageWriter())
    filename = ean.save('ean13')
    image = ean.render()
    return HttpResponse(image,content_type="image/png")

我在这里下载了条形码图像,但无法打开该图像。我收到的错误是Windows照片查看器无法打开此图片,因为任一照片查看器均不支持此文件格式。

我是这个django restframework的新手。请帮助我任何人。

1 个答案:

答案 0 :(得分:1)

在您的 View.py

导入此

import barcode
from barcode.writer import ImageWriter


def Bar(request): 
    lineCode = '1234567891234'
    barCodeImage = barcode.get('ean13', lineCode, writer=ImageWriter())
    filename = barCodeImage.save(item_name.png)
    return HttpResponse(image,content_type="image/png")

它将生成图像并将其保存到您的项目根文件夹

更多帮助,请访问此链接PyBarcode