Django中生成二维码

时间:2024-04-13 08:24:01

在Django中生成二维码

环境:Windows、Python2.7.13

编辑器:pycharm

使用库:django1.11.5,qrcode5.3,Image1.5.16

其中qrcode是基于Image库的基础的。

均可pip install 进行安装

安装Image:pip install Image

安装qrcode:pip install Image

创建Django项目,可使用命令,也可直接使用编辑器进行创建,创建命令不在赘述

创建app:python manage.py startapp app

在setting中进行app的注册:

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'app',
]
编写view视图函数
首先设置utf-8编码格式,以及引入所需要的库
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
import qrcode
from django.shortcuts import render
from django.http import HttpResponse
from django.utils.six import BytesIO
然后创建视图函数:
def generate_qrcode(request, data):
    img = qrcode.make(data)

    buf = BytesIO()
    img.save(buf)
    image_stream = buf.getvalue()

    return HttpResponse(image_stream, content_type="image/png")

在urls.py中配置路由:
引入视图函数
from app.views import generate_qrcode
配置路由:
urlpattrns = [
url(r'^qrcode/(.+)$',generate_qrcode,name='qrcode'),
]
运行项目:
python manage.py runserver
打开浏览器,输入网址:http://127.0.0.1:8000/qrcode/http://www.baidu.com
即可在网页上显示目标二维码Django中生成二维码