码迷,mamicode.com
首页 > 其他好文 > 详细

十八 Django框架,生成二维码

时间:2018-01-03 14:00:27      阅读:140      评论:0      收藏:0      [点我收藏+]

标签:open   res   site   生成   utils   调用   分享图片   toolbar   ati   

用Python来生成二维码,需要qrcode模块,qrcode模块依赖Image 模块,所以首先安装这两个模块

 

生成二维码保存图片在本地

技术分享图片
import qrcode
 
img = qrcode.make(‘http://www.jxiou.com‘)
# img <qrcode.image.pil.PilImage object at 0x1044ed9d0>
 
with open(‘test.png‘, ‘wb‘) as f:
    img.save(f)
技术分享图片

 

Python中调用:

import qrcode
from qrcode.image.pure import PymagingImage
img = qrcode.make(‘Some data here‘, image_factory=PymagingImage)

 

Django 中使用

html

技术分享图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link rel="stylesheet" type="text/css" href="/static/css/tou.css">
</head>
<body>

<img src="/bugyanzhm/"/>

</body>
</html>
技术分享图片

 

路由映射

技术分享图片
from django.conf.urls import url
from django.contrib import admin
from app1 import views

urlpatterns = [
    url(r‘admin/‘, admin.site.urls),   #路由映射admin数据库管理
    url(r‘articles/‘, views.special),
    url(r‘yanzhm/‘, views.yanzhm)
]
技术分享图片

 

逻辑处理

技术分享图片
from django.shortcuts import render,redirect,HttpResponse
import qrcode
from django.utils.six import BytesIO

#逻辑处理模块

def special(request):


    return render(request, ‘app1/index.html‘)


def yanzhm(request):
    img = qrcode.make(‘http://www.jxiou.com/‘)      #传入网站计算出二维码图片字节数据
    buf = BytesIO()                                 #创建一个BytesIO临时保存生成图片数据
    img.save(buf)                                   #将图片字节数据放到BytesIO临时保存
    image_stream = buf.getvalue()                   #在BytesIO临时保存拿出数据
    response = HttpResponse(image_stream, content_type="image/jpg")  #将二维码数据返回到页面
    return response
技术分享图片

技术分享图片

 

十八 Django框架,生成二维码

标签:open   res   site   生成   utils   调用   分享图片   toolbar   ati   

原文地址:https://www.cnblogs.com/meng-wei-zhi/p/8183143.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!