python生成链接二维码

django生成链接二维码,用户扫码之后跳转到指定链接(生成的二维码图片转成了base64,前端收到之后需要转成图片即可):

import qrcode, base64
from io import BytesIO
from django.http import HttpResponse

class LinkCodeAPIView(APIView):
    """链接二维码"""

    def get(self, request):
        status_http = 'http://'
        end_info = '/#/apprentice'
        domain_name = request.get_host()

        if domain_name != '本项目域名':
            status_http = 'https://'

        # 拼接二维码链接
        link_url = status_http + domain_name + end_info

        # 生成二维码
        qr_img = qrcode.make(link_url)
        byte_io = BytesIO()
        qr_img.save(byte_io, 'PNG')
        byte_io.seek(0)
        base64_data = base64.b64encode(byte_io.getvalue())
		# 直接生成二维码图片返回给前端
		# qr_img = qrcode.make(link_url)
        # byte_io = BytesIO()
        # qr_img.save(byte_io)
        # image = byte_io.getvalue()
        # return HttpResponse(image, content_type="image/png")
  
        return APIResponse.success(data=base64_data, message='OK')

返回结果:
{
“data”: “iVBORw0KGgoAAAANSUhEUgAAAXIAAAFyAQAAAADAX2ykAAACmklEQVR4nO2bQW7bMBBF35QCspQAH8BHoW/QIxU9Um4gHiUHCCAuDVD4XZCynQBtmlZWLGBmIVPyW3xgMBT5hzLxmUjfPoWD884777zzzjv/O95adNgptwvUy/LfaUM9zq/Fd/UnjgD5gNKAKQ0BgwAQCgC2jR7n78PnVqHLZTaN/bkm1cy6rfU4fx9eYy8BQZCfZKcv1uP8HXiNfYE4gcZH0OP8P/PLxNsLyGD0c0d86QrpFLD4DLcWyKPpd/7P0fKb6ps2QHx+kgFYnA4As22px/l1+Zrfa4UqDRj0ZxMUWmFvp8f5dXkkScQpSJpAmoIkFdptHQURJWl8NP3OfxA1v/QF6EtdWtX1FZdFllTw/O6SX+pXkkaCoO6PgLgUMeD1u3d+tlawL2Z1kh4JIh2lmulxWz3Or8J316FBV0QOxeJ4NrVnVldfVi3MR9Pv/F/xaQCizgbMppFmUhIngGz2lr+3HufX5atXlZ9kNgTd9o/6Qp2kN9Xj/Er8ZX4OIn0vKH2foHaNcihGHrA4XbbIj6bf+T/H4m/kQyG+GCIbzd/oa2cQpWHy9++u+TRA2wQTaqmaDRdr0t+/e+Vr/Rr9a+v1RgFpeEUwo3RUfeb9/V3y1d+oMfZ6Y1JO0IzLK/Jo+p3/IBZ/UrrxIoFqSLZhX/D87pK/rd/WaeDiPzfjEvcnd85fz0+SjpL9mC5HN3JXnehN9Ti/Fn/bX7i4ztfzOa1+fX7eO7+cnyROYKdlk0QyW0zKTfU4fyc+Hc+mkdn081hujlPa6Wv0OP9ffPfu3uKEDDqI04zRA+RhKz3Or8u/Pz8p8qEI5g7yQRafrZocG+lx/i58MjOzAezUF9qXSG/Advug+p3/TZh/3+28884777zzm/O/AAfsiX0F6aUeAAAAAElFTkSuQmCC”,
“code”: 0,
“message”: “OK”
}

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值