在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
即可在网页上显示目标二维码