第三百二十节,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框架,生成二维码的更多相关文章

  1. 第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理

    第三百八十节,Django+Xadmin打造上线标准的在线教育平台—将所有app下的models数据库表注册到xadmin后台管理 将一个app下的models数据库表注册到xadmin后台管理 重点 ...

  2. 第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页

    第三百七十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)用Django实现搜索结果分页 逻辑处理函数 计算搜索耗时 在开始搜索前:start_time ...

  3. 第三百零八节,Django框架,models.py模块,数据库操作——链表结构,一对多、一对一、多对多

    第三百零八节,Django框架,models.py模块,数据库操作——链表结构,一对多.一对一.多对多 链表操作 链表,就是一张表的外键字段,连接另外一张表的主键字段 一对多 models.Forei ...

  4. 第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念

    第三百六十节,Python分布式爬虫打造搜索引擎Scrapy精讲—elasticsearch(搜索引擎)的基本概念 elasticsearch的基本概念 1.集群:一个或者多个节点组织在一起 2.节点 ...

  5. 第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求

    第三百五十节,Python分布式爬虫打造搜索引擎Scrapy精讲—selenium模块是一个python操作浏览器软件的一个模块,可以实现js动态网页请求 selenium模块 selenium模块为 ...

  6. 第三百零三节,Django框架介绍——用pycharm创建Django项目

    Django框架介绍 Django是一个开放源代码的Web应用框架,由Python写成.采用了MVC的软件设计模式,即模型M,视图V和控制器C.它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内 ...

  7. 第三百零九节,Django框架,models.py模块,数据库操作——F和Q()运算符:|或者、&并且——queryset对象序列化

    第三百零九节,Django框架,models.py模块,数据库操作——F()和Q()运算符:|或者.&并且 F()可以将数据库里的数字类型的数据,转换为可以数字类型 首先要导入 from dj ...

  8. 第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页

    第三百八十九节,Django+Xadmin打造上线标准的在线教育平台—列表筛选结合分页 根据用户的筛选条件来结合分页 实现原理就是,当用户点击一个筛选条件时,通过get请求方式传参将筛选的id或者值, ...

  9. 第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承

    第三百八十六节,Django+Xadmin打造上线标准的在线教育平台—HTML母版继承 母板-子板-母板继承 母板继承就是访问的页面继承一个母板,将访问页面的内容引入到母板里指定的地方,组合成一个新页 ...

随机推荐

  1. mysql 5.7安装教程

    一.mysql下载地址  https://downloads.mysql.com/archives/installer/ 说在前面的话 我为什么已经尝试和使用过同类型产品的很多MySQL版本,还要书写 ...

  2. ansible 一些参数的整理

    用ansible 来管理远程的主机,最大的好处是方便,ansible不用在远程的主机上安装ansible的客户端,ansible只要能通过ssh连接上远程主机就 能对它进行管理.也就是说ansible ...

  3. python 在升级到python2.7之后安装相关插件

    # yum update # yum install centos-release-SCL # yum search all python27 在搜索出的列表中发现python27-python-de ...

  4. angular学习笔记(二十七)-$http(5)-使用$http构建RESTful架构

    在angular中有一个特别为RESTful架构而定制的服务,是在$http的基础上进行了封装. 但是为了学习,我们先看看用直接$http是如何构建RESTful架构的: 假设有一个银行卡的列表.需要 ...

  5. 使用 Electron 构建桌面应用(拖动控制篇)

    使用 Electron 构建桌面应用(拖动控制篇) 当窗口被定义了大小,我们也就是在自定义这个窗口,使得它不可拉伸没有框架,让它看起来就像一个真正的声效器浮在桌面上. 现在问题来了 – 要如何移动或者 ...

  6. LeetCode:Decode Ways 解题报告

    Decode WaysA message containing letters from A-Z is being encoded to numbers using the following map ...

  7. django 线上线下使用不同的数据库 上线:mysql 线下sqlite3 以及debug模式的开和关

    hostname = socket.gethostname() 获取主机名称 import os import socket hostname = socket.gethostname() if ho ...

  8. django admin 或xdmin list_display search_fields list_filter 如果显示搜索外键或多对多字段

    model class UserProfile(AbstractUser): nick_name = models.CharField(max_length=50, verbose_name=u&qu ...

  9. LocationActivity

    package com.baidu.location.demo; import com.baidu.baidulocationdemo.R;import com.baidu.location.BDLo ...

  10. 使用寄存器点亮LED——前言基础知识

    在点亮LED之前,我们需要具备一些基础知识: GPIO—general purpose intput output 是通用输入输出端口的简称,简单来说就是软件可控制的引脚,STM32芯片的GPIO引脚 ...