中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

Flask項目中實現短信驗證碼和郵箱驗證碼功能

發布時間:2020-09-19 23:25:10 來源:腳本之家 閱讀:255 作者:__tian__ 欄目:開發技術

Flask是一個用Python編寫的Web應用程序框架,Flask是python的web框架,最大的特征是輕便,讓開發者自由靈活的兼容要開發的feature。 它由 Armin Ronacher 開發,他領導一個名為Pocco的國際Python愛好者團隊。 Flask基于Werkzeug WSGI工具包和Jinja2模板引擎。兩者都是Pocco項目。

這篇文章給大家介紹Flask項目中實現短信驗證碼和郵箱驗證碼功能,具體內容如下所示:

一、發送郵箱驗證碼

1、使用QQ郵箱發送驗證碼

①配置

Flask項目中實現短信驗證碼和郵箱驗證碼功能

開啟pop3/smtp服務

2、應用

①前端頁面

②config.py

# 郵箱配置
# MAIL_USE_TLS:端口號587
# MAIL_USE_SSL:端口號465
# QQ郵箱不支持非加密方式發送郵件
# 發送者郵箱的服務器地址
MAIL_SERVER = "smtp.qq.com"
MAIL_PORT = '587'
MAIL_USE_TLS = True
# MAIL_USE_SSL
MAIL_USERNAME = "1414518976@qq.com"
MAIL_PASSWORD = "*****" # 生成授權碼,授權碼是開啟smtp服務后給出的
MAIL_DEFAULT_SENDER = 1414518976@qq.com

③views.py

點擊獲取驗證碼,進入到以下視圖,發送郵件,把驗證碼存到memcache數據庫。

from flask_mail import Message,Mail
mail = Mail()
@bp.route('/email_captcha/')
@login_requires
def email_captcha():
  email = request.args.get('email')
  if not email:
    return restful.params_error('請輸入郵箱') #restful. 封裝的函數,返回前端數據
  '''
  生成隨機驗證碼,保存到memcache中,然后發送驗證碼,與用戶提交的驗證碼對比
  '''
  captcha = str(uuid.uuid1())[:6] # 隨機生成6位驗證碼
  # 給用戶提交的郵箱發送郵件
  message = Message('Python論壇郵箱驗證碼', recipients=[email], body='您的驗證碼是:%s' % captcha)
  try:
    mail.send(message) # 發送
  except:
    return restful.server_error()
  mbcache.set(email, captcha)
  return restful.success()

點擊立即修改,

        以post請求發到后臺,對用戶提交的數據進行校驗:拿出memcache中存儲的驗證碼與用戶提交的驗證碼對比,校驗郵箱格式。校驗通過后把新郵箱保存到數據庫,返回前端提示信息。郵箱驗證功能完成。

二、實現短信驗證

1、平臺以及配置

平臺:阿里大于

配置:1、添加模板

Flask項目中實現短信驗證碼和郵箱驗證碼功能

 2、添加簽名

Flask項目中實現短信驗證碼和郵箱驗證碼功能

3、獲取

Flask項目中實現短信驗證碼和郵箱驗證碼功能

Flask項目中實現短信驗證碼和郵箱驗證碼功能

即下面的key和secret

2、flask中使用

config.py

#發送短信驗證碼配置
KEY="*******"
SECRET="*******"
alidayu.py發送短信功能實現
from aliyunsdkcore.client import AcsClient #需要先下載包
from aliyunsdkcore.request import CommonRequest
import config
def send_sms(telephone, captcha):
  client = AcsClient(config.KEY, config.SECRET, 'cn-hangzhou')
  request = CommonRequest()
  request.set_accept_format('json')
  request.set_domain('dysmsapi.aliyuncs.com')
  request.set_method('POST')
  request.set_protocol_type('https') # https | http
  request.set_version('2017-05-25')
  request.set_action_name('SendSms')
  request.add_query_param('RegionId', "cn-hangzhou")
  request.add_query_param('PhoneNumbers', telephone) #發送的手機號
  request.add_query_param('SignName', "flask論壇") #SignName簽名
  request.add_query_param('TemplateCode', "SMS_174806057") #模板id
  code = {}
  code['code'] = captcha
  request.add_query_param('TemplateParam', code) #模板中要填入的數據
  response = client.do_action(request)
  # python2: print(response)
  return str(response, encoding='utf-8')

調用是send_sms('手機號','驗證碼'),即可發送短信。(當然余額得有錢.)

總結

以上所述是小編給大家介紹的Flask項目中實現短信驗證碼和郵箱驗證碼功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

向AI問一下細節

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

AI

时尚| 白山市| 托克逊县| 淮南市| 永年县| 浦县| 闸北区| 静海县| 东乡| 焦作市| 本溪| 梁山县| 阿图什市| 大方县| 贵州省| 通州区| 泾源县| 灵丘县| 台南市| 屯留县| 彰化市| 德江县| 响水县| 阜新市| 兴义市| 项城市| 麦盖提县| 甘洛县| 调兵山市| 丰台区| 宣武区| 塔河县| 桃江县| 区。| 鞍山市| 儋州市| 新河县| 乐至县| 丰镇市| 鄂伦春自治旗| 宜宾市|