十八 Django框架,生成二维码

Posted 快乐糖果屋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了十八 Django框架,生成二维码相关的知识,希望对你有一定的参考价值。

用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框架,生成二维码的主要内容,如果未能解决你的问题,请参考以下文章

开源web框架django知识总结(十八)

开源web框架django知识总结(十八)

开源web框架django知识总结(十八)

Django框架(二十八)—— Django缓存机制

Android项目实战(二十八):Zxing二维码实现及优化

Django框架(十八)—— 中间件CSRF跨站请求伪造