91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

龙口市| 荃湾区| 内丘县| 班戈县| 江川县| 绿春县| 龙岩市| 亳州市| 隆德县| 新泰市| 肥东县| 读书| 克东县| 蓬溪县| 河池市| 鄂尔多斯市| 象山县| 东乌| 峡江县| 咸阳市| 保定市| 靖安县| 渝中区| 运城市| 长丰县| 宁安市| 扬州市| 伊金霍洛旗| 海丰县| 望谟县| 筠连县| 龙门县| 新密市| 信阳市| 平阳县| 霍州市| 达尔| 金堂县| 东乡县| 弥渡县| 文登市|