基于 Django 使用 qrcode 模块生成二维码

34 篇文章 3 订阅

简介:

        二维码简称 QR Code(Quick Response Code),学名为快速响应矩阵码,是二维条码的一种,由日本的 Denso Wave 公司于1994 年发明。现随着智能手机的普及,已广泛应用于平常生活中,例如商品信息查询、社交好友互动、网络地址访问等等。qrcode模块是Github上的一个开源项目,提供了生成二维码的接口。qrcode默认使用PIL库用于生成图像。由于生成 qrcode 图片需要依赖 Python 的图像库,所以需要先安装 Python 图像库 PIL(Python Imaging Library)。

项目地址: https://github.com/sylnsfar/qrcode

步骤:

1、安装qrcode和pillow
pip install qrcode pillow
2、安装完成后直接使用,示例如下:
import qrcode
img=qrcode.make("https://me.csdn.net/PY0312")
with open("test.png","wb") as f:
	img.save(f)

在 python 环境下运行它即可生成一个二维码
在这里插入图片描述

3、基于 django 实现方法

a. 在 views.py 中添加以下代码:

from django.http import HttpResponse
import qrcode
from django.utils.six import BytesIO
def  makeqrcode(request,data):
    url = HOST+data
    img = qrcode.make(url)      	# 传入网址计算出二维码图片字节数据
    buf = BytesIO()                 # 创建一个BytesIO临时保存生成图片数据
    img.save(buf)                   # 将图片字节数据放到BytesIO临时保存
    image_stream = buf.getvalue()   # 在BytesIO临时保存拿出数据
    response = HttpResponse(image_stream, content_type="image/jpg")  # 将二维码数据返回到页面
    return response

b. 在 url.py 中添加以下代码:

urlpatterns = [
    ......
    url(r'qrcode/(.+)$', views.makeqrcode,name='qrcode')
    ......
]

c. 在模板中使用:

 <img src="{% url 'qrcode' request.path %}" width="120px" height="120px;">
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值