亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用Python和Django框架怎么生成一個二維碼

發布時間:2021-04-13 17:34:42 來源:億速云 閱讀:268 作者:Leah 欄目:開發技術

使用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

看完上述內容,你們掌握使用Python和Django框架怎么生成一個二維碼的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

日土县| 蒙城县| 宣汉县| 凤冈县| 兴义市| 容城县| 修文县| 江口县| 文登市| 都安| 定结县| 开化县| 郯城县| 卢湾区| 罗源县| 左贡县| 苏尼特左旗| 德格县| 出国| 三门峡市| 绥德县| 义马市| 宜兰市| 武定县| 达日县| 屏边| 台山市| 浏阳市| 信丰县| 景谷| 达拉特旗| 桦川县| 滨州市| 吕梁市| 兴安盟| 赤峰市| 商丘市| 涟水县| 东港市| 新源县| 嘉兴市|