路飛-騰訊雲短信接口

複習

"""
一、版本管理器:管理在編寫代碼時,各類代碼版本的工具 - 通常在一個需求或是一項功能代碼結束後,就稱之爲一個代碼版本
二、svn和git比較:git服務端與客戶端整合,每個倉庫均可以做爲客戶端也能夠做爲服務端(集羣部署、不怕服務器宕機)、git能夠多分支操做,分支管理很強大
三、git的工做流程:工做區 <=> 暫存區 <=> 版本庫 <=> 遠程倉庫 <=> 版本庫
    增刪改查            |       git checkout .
    git add .           |      git reset HEAD . (git reset)
    git commit -m '信息'  |      git reset --hard 版本號  (git reflog | gitlog)
    
四、基礎命令
    git init
    git status

五、remote
    git remote | git remote -v
    git remote add 源名 地址
    git remote remove 源名

六、branch
    git branch
    git branch 新分支 | git checkout -b 新分支
    git checkout 分支
    git branch -d 分支
    
七、gitee遠程倉庫
    本地倉庫提交代碼到本地版本庫
    建立遠程倉庫,將本地主機添加至開發者
    本地倉庫配置遠程倉庫remote源
    提交代碼到遠程倉庫
    
八、提早配置 - 在第一次提交版本庫以前完成
    本地倉庫的全局或局部用戶信息
    本地主機要生成公鑰私鑰
    配置倉庫的過濾條件
"""

今日內容

"""
項目開發git
登陸註冊頁面分析
騰訊雲短信接口
redis
"""

項目開發 git操做

基本流程
"""
一、開發前,拉一次遠程倉庫
二、工做區進行開發
三、將開發結果提交到本地版本庫 - git status查看時沒有待處理的事件
四、拉取遠程倉庫(每一次要提交遠程倉庫前必須先拉)
五、若是出現衝突,線下溝通(協商從新開發衝突文件),要從新走三、4步
六、沒有衝突,提交到遠程倉庫
"""
協同開發
"""
1)全部人在一個分支上進行開發 - 一般開發分支名爲dev
2)遵循git開發流程:先提交本地版本庫,再拉取服務器代碼,最後提交代碼

提交本地版本庫:git commit -m '版本信息'
拉取服務器代碼:git pull 源名 分支名
提交代碼:git push 源名 分支名
"""
衝突解決
"""
1)打開衝突文件
2)定位到衝突位置: >>>>>衝突開始 自身代碼 ==== 衝突代碼 <<<<<<版本號
3)刪除衝突提示信息:>>>>>衝突開始、====、<<<<<<版本號
4)線下溝通整合自身代碼與衝突代碼,造成最終代碼結果
5)從新提交本地版本庫,再拉取服務器代碼,最後提交代碼
"""
合併分支
"""
eg:將dev分支內容合併到prod分支上
1)切換到prod分支:git checkout prod
2)合併dev分支:git merge dev
"""

短信

開通騰訊雲短信

"""
一、官網註冊實名帳號:https://cloud.tencent.com
二、選取短信服務建立短信應用
三、申請簽名與短信模板 - 經過微信公衆號申請
"""

騰訊雲短信二次封裝

libs/txsms/settings.py
# 短信應用 SDK AppID - SDK AppID 以1400開頭
APP_ID = ...
# 短信應用 SDK AppKey
APP_KEY = "..."
# 短信模板ID,須要在短信控制檯中申請
TEMPLATE_ID = ...
# 簽名 - 是`簽名內容`,而不是`簽名ID`
SMS_SIGN= "..."
# 電話前綴
MOBILE_PREFIX = 86
libs/txsms/sms.py
# 經過MacOS ssl安全認證
import ssl
ssl._create_default_https_context = ssl._create_unverified_context

# 獲取驗證碼的功能
import random
def get_code():
    code = ''
    for i in range(4):
        code += str(random.randint(0, 9))
    return code

# 短信發送者
from qcloudsms_py import SmsSingleSender
from .settings import *
sender = SmsSingleSender(APP_ID, APP_KEY)

# 發送驗證碼
from utils.logging import logger
def send_sms(mobile, code, exp):
    try:
        # 發送短信
        response = sender.send_with_param(MOBILE_PREFIX, mobile, TEMPLATE_ID, (code, exp), sign=SMS_SIGN, extend="", ext="")
        # 成功
        if response and response['result'] == 0:
            return True
        # 失敗
        logger.warning('%s - %s' % ('短信發送失敗', response['result']))
    except Exception as e:
        # 異常
        logger.warning('%s - %s' % ('短信發送失敗', e))
    return False
libs/txsms/__init__.py
# 包對外提供的功能方法
from .sms import get_code, send_sms
測試
from libs import txsms
code = txsms.get_code()
print(code)
print(txsms.send_sms('電話', code, 5))

redis數據庫

爲何要學習redis
"""
一、redis是內存 no-sql 數據庫,相比mysql等硬盤數據庫效率高
二、在內存中配置數據庫使用,而不直接使用內存,redis存儲的數據是能夠管理的
三、memcache也是內存數據庫,且django默認採用的就是memcache數據庫,用redis替換memcache的路由很簡單,後者更強大
    redis支持更多的數據類型
    redis自帶緩存機制,出現數據庫系統崩潰數據也是能夠有找回的功能
    redis能夠主動完成數據持久化(自帶數據持久化功能)
    redis的數據過時時間機制也能夠自身完成
"""
redis安裝
注:在官網安裝系統版本,下載對應安裝包安裝便可
redis數據類型
"""
支持的數據類型:String、Hash、List、Set、Sorted Set

String:存儲其餘類型不能存的全部數據
Hash:存儲 key-value 形式數據,相似於字典
List:存儲 一系列有序value 形式數據,列表(數組)
Set:存儲 一系列無序value 形式數據,集合
Sorted Set:存儲 有排列標號value 形式數據,排行
"""
字符串類型
""" 重要方法
set:key value
get:key
mset:k1 v1 k2 v2 ... kn vn
mget:k1 k2 ... kn
setex:key exp value
"""
相關文章
相關標籤/搜索