本文实例讲述了Python及Django框架生成二维码的方法。分享给大家供大家参考,具体如下:
一、包的安装和简单使用
1.1 用Python来生成二维码很简单,可以看 qrcode 这个包:
pip install qrcode
qrcode 依赖 Image 这个包:
pip install Image
如果这个包安装有困难,可选纯Python的包来实现此功能,见下文。
1.2 安装后就可以使用了,这个程序带了一个 qr 命令:
qr 'http://www.ziqiangxuetang.com' > test.png
1.3 下面我们看一下如何在 代码 中使用
import qrcode img = qrcode.make('http://www.tuweizhong.com') # img <qrcode.image.pil.PilImage object at 0x1044ed9d0> with open('test.png', 'wb') as f: img.save(f)
这样就可以生成一个带有网址的二维码,但是这样得把文件保存到硬盘中。
【备注】:纯Python的包的使用:
安装:
pip install git+git://github.com/ojii/pymaging.git#egg=pymaging pip install git+git://github.com/ojii/pymaging-png.git#egg=pymaging-png
使用方法大致相同,命令行上:
qr --factory=pymaging "Some text" > test.png
Python中调用:
import qrcode from qrcode.image.pure import PymagingImage img = qrcode.make('Some data here', image_factory=PymagingImage)
二、Django 中使用
我们可以用 Django 直接把生成的内容返回到网页,以下是操作过程:
2.1 新建一个 zqxtqrcode 项目,tools 应用:
django-admin.py startproject zqxtqrcode python manage.py startapp tools
2.2 将 tools 应用 添加到 项目 settings.py 中
INSTALLED_APPS = ( ... 'tools', )
2.3 我们修改 tools/views.py
from django.http import HttpResponse import qrcode from cStringIO import StringIO def generate_qrcode(request, data): img = qrcode.make(data) buf = StringIO() img.save(buf) image_stream = buf.getvalue() response = HttpResponse(image_stream, content_type="image/png") response['Last-Modified'] = 'Mon, 27 Apr 2015 02:05:03 GMT' response['Cache-Control'] = 'max-age=31536000' return response
上面对返回结果进行了处理,浏览器会缓存图片,提高再次加载的速度。Cache-Control 和 Last-Modified 不懂的可以看一下 HTTP协议 相关知识。
2.4 添加视图函数到 zqxtqrcode/urls.py
url(r'^qrcode/(.+)$', 'tools.views.generate_qrcode', name='qrcode'),
2.5 同步数据库,打开开发服务器:
python manage.py syncdb python manage.py runserver
参考:https://pypi.python.org/pypi/qrcode/
PS:这里再为大家推荐一款二维码在线生成工具供大家参考使用:
在线生成二维码工具(加强版)
http://tools.jb51.net/transcoding/jb51qrcode
更多关于Python相关内容可查看本站专题:《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- 陈奕迅2023《CHIN UP》EAS MUSIC[WAV+CUE][1.2G]
- 黄心懋《曾经有个女孩》滚石首版[WAV+CUE]
- 群星《车宴(紫银合金AQCD)》[原抓WAV+CUE]
- 小骆驼《草原狼》[正版CD抓轨WAV+CUE]
- 群星.2011-剧集金曲精选2CD【永恒】【WAV+CUE】
- 林忆莲.1996-夜太黑【滚石】【WAV+CUE】
- 方皓玟.2009-UNLOCKME【东亚】【WAV+CUE】
- 群星《2024好听新歌22》十倍音质 U盘音乐[WAV分轨]
- 林宥嘉《神秘嘉宾》引进版[WAV分轨][1G]
- 2024罗志祥《舞狀元》[FLAC/MP3][1G]
- 张美玲侯俊辉1999-福建情歌对唱[南方][WAV+CUE]
- 江希文.1994-伝说少女(饿狼伝说动画原声大碟)【嘉音】【WAV+CUE】
- 黄思婷2020-风中泪[豪记][WAV+CUE]
- 刘韵.1998-DENON.MASTERSONIC系列【EMI百代】【WAV+CUE】
- 群星.2024-你的谎言也动听影视原声带【韶愔音乐】【FLAC分轨】