flask專案1實戰:2.2 flask框架下使用圖片驗證碼
- 圖片生成元件是成熟的元件,直接到網上搜一個大能開發的元件,在自已框架中引用即可
一、自己系統內的後臺使用介面
1、介面文件:
- 介面名字
- 描述
- URL
- 請求方式
- 傳入引數
- 返回值
介面:獲取圖片驗證碼
描述:前端訪問,可以獲取到驗證碼圖片
URL:/api/v1.0/image_codes/<image_code_id>
請求方式:GET
傳入引數:
名字 型別 是否必須 說明 image_code_id 字串 是 驗證碼的編號 返回值:
名字 型別 是否必須 說明 errno 字串 否 錯誤程式碼 errmsg 字串 否 錯誤內容
2、後端介面定義:
- 採用REST風格
- 呼叫 圖片驗證碼元件,生成圖片驗證碼
- 將圖片驗證碼存到redis中
- 以圖片形式將圖片驗證碼資料返回前端
@api.route("/image_codes/<image_code_id>")
def get_image_code(image_code_id):
"""
獲取圖片驗證碼
:param image_code_id: 圖片的編號
:return: 驗證碼,驗證碼影像
"""
# 驗證引數
# 業務邏輯處理
# 生成驗證碼圖片
text, image_data = captcha.generate_captcha()
# 儲存驗證碼
try:
redis_store.setex('image_code_%s' % image_code_id, constants.IAMGE_CODE_REDIS_EXPIRES, text)
except Exception as e:
logging.error(e)
return jsonify(errno=RET.DBERR, errmsg='儲存圖片驗證碼失敗')
# 返回值
response = make_response(image_data)
response.headers['Content-Type'] = 'image/jpg'
return response
3、在藍圖中引用
- 路由一定要在藍圖中引用,否則無法被呼叫
from flask import Blueprint
api = Blueprint("api_1_0", __name__, url_prefix="/api/v1.0")
from . import demo,verify_code
4、驗證
4.1 啟動後臺服務
4.2 位址列輸入:http://127.0.0.1:5000/api/v1.0/image_codes/xxxx
- 正常顯示圖片驗證碼即可
4.3 啟動redis客戶端,get image_code_xxxx
值與顯示圖片一致即為正確
二、前端圖形驗證碼應用(略)
相關文章
- flask 專案開發實戰Flask
- Flask實戰腳手架-專案建立Flask
- flask部落格專案之tinymce圖片上傳Flask
- flask返回圖片流Flask
- flask專案之圖書案例Flask
- flask 專案拆分Flask
- 使用Flask-Avatars在Flask專案裡設定頭像Flask
- Flask01 第一個flask專案Flask
- Ubuntu 22.04 + Pycharm + Flask 配置 Flask 專案UbuntuPyCharmFlask
- Flask Web開發入門(十)之圖片上傳(使用Flask-Upload)FlaskWeb
- 如何在 Flask 專案中使用 MQTTFlaskMQQT
- CentOS 部署 flask專案CentOSFlask
- Flask專案生成ModelFlask
- <input>文字框和驗證碼圖片垂直對齊
- flask 專案中使用 bootstrapFileInput(構建篇)Flaskboot
- flask 專案中使用 bootstrapFileInput(進階篇)Flaskboot
- 17、flask-圖書簡單館專案Flask
- 使用Flask-Dropzone在Flask程式中實現檔案上傳Flask
- Flask web專案 gunicorn部署FlaskWeb
- 基於 CNN 的驗證碼破解實戰專案CNN
- 在 Flask 專案中使用 Celery(with 工廠模式 or not)Flask模式
- python使用flask框架生成excle返回前端(包含圖片、表格、表頭灰色、表格加邊框)PythonFlask框架前端
- 圖片驗證碼 CaptchaAPT
- 圖片驗證碼介面
- Python全棧工程師之從網頁搭建入門到Flask全棧專案實戰(5) - Flask中的ORM使用Python全棧工程師網頁FlaskORM
- flask:flask模板——使用Jinja2Flask
- nginx+Gunicorn部署Flask專案NginxFlask
- node實現登入圖片驗證碼
- Flask(9)- 藍圖的基本使用Flask
- 使用 Flask 實現 RESTful APIFlaskRESTAPI
- [python][flask] Flask 圖片上傳與下載例子(支援漂亮的拖拽上傳)PythonFlask
- golang 生成圖片驗證碼Golang
- C#圖片驗證碼C#
- 10RMB/月不到部署FLASK網站專案(flask+gunicorn+nginx)Flask網站Nginx
- flask入門1Flask
- flask學習1Flask
- Flask(1)- 簡介Flask
- Flask專案常見面試問題Flask面試