• 十八 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
    复制代码

  • 相关阅读:
    跨域资源共享 CORS 详解
    Vue.js 与 Laravel 分离
    Laravel 5.4+Vue.js 初体验:Laravel下配置运行Vue.js
    移动端web及app设计尺寸
    另辟蹊径:vue单页面,多路由,前进刷新,后退不刷新
    vue2.0 keep-alive最佳实践
    教你用Cordova打包Vue项目
    oracle_数据处理
    oracle_集合函数
    oaracel 函数_行转列
  • 原文地址:https://www.cnblogs.com/meng-wei-zhi/p/8183143.html
Copyright © 2020-2023  润新知