python web(bottle框架)知行合一之-簡單知識付費平臺-”全棧“實踐(10)---註冊介面...
python web(bottle框架)知行合一之-簡單知識付費平臺-”全棧“實踐(10)---註冊介面
PS:筆記只是為了更好表達我怎麼語言表述,有些時候可能難免廢話一推!
因知識有限, 如有錯誤, 歡迎指正!
每日細語:不要辜負了青春的大好時光!
續言
這幾天一直忙著練車應付考試,現在終於過了,心裡的一塊石頭也算暫時的落下了!
回顧前面的幾篇的簡述,我們已經開始接著繼續進行相關服務介面的開發之中,本期主要講解的是註冊介面:
需求分析
當使用者提交相關的帳號和密碼進行註冊的時候,如果發現相關帳號資訊已經被註冊了,那麼提示已註冊,如果沒有則直接的新增一條記錄,並返回提示註冊成功!
需求實現過程:
1:回顧登入介面服務
#!/usr/bin/evn python
# coding=utf-8
# + + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ + + ++ +
"""
Author = zyx
@Create_Time: 2018/4/20 15:27
@version: v1.0.0
@Contact: 308711822@qq.com
@File: login.py
@檔案功能描述: 登入服務介面
"""
from bottle import get, post, request
from base_framework.net import web_helper, session_helper
from business_logic.api_db_logics import user_info_logic
from base_framework.utils import json_helper
@get('/api/v1/user/login/')
@post('/api/v1/user/login/')
def callback():
'''登入'''
'''1:獲取使用者提交過來的手機號碼 和 密碼進行驗證 是否已經註冊過-----其實這裡還可以進一步的進行封裝'''
if request.method.upper() in ('POST', 'PUT', 'DELETE'):
phone_num = web_helper.get_form('phone_num', '使用者號碼') # 預設開啟 不能為空的驗證
pass_word = web_helper.get_form('pass_word', '使用者密碼') # 預設開啟 不能為空的驗證
else:
phone_num = web_helper.get_query('phone_num', '使用者號碼') # 預設開啟 不能為空的驗證
pass_word = web_helper.get_query('pass_word', '使用者密碼') # 預設開啟 不能為空的驗證
'''2:根據使用者的手機號碼,進行驗證是否已註冊,如果已經註冊的話,那就再判斷密碼是否正確-----其實這裡還可以進一步的進行封裝'''
u = user_info_logic.check_by_get(phone_num)
if not u:
return web_helper.return_msg("9999", "親!您還沒有註冊")
if u.get('pass_word') != pass_word:
return web_helper.return_msg("9999", "親!您的密碼被狗吃了")
'''3:寫入相關的session資訊到本地上'''
s = session_helper.get_session()
s['phone_num'] = phone_num
s['pass_word'] = pass_word
s.save()
return web_helper.return_msg("0000", "登入成功!")
說明:在登入的介面服務中,我們把相關所有設計的到使用者資訊操作的都放置到了一個叫做user_info_logic.py的邏輯處理模組中.
#!/usr/bin/evn python
# coding=utf-8
"""
Author = zyx
@Create_Time: 2018/4/20 15:57
@version: v1.0.0
@Contact: 308711822@qq.com
@File: user_info_logic.py
@檔案功能描述: 使用者資訊表的一些封裝
"""
from business_logic.db_model.knowledgepay_model import UserInfo, session_scope, model_to_dict, CourseOrder
from base_framework.utils import json_helper
# 檢查手機號碼記錄是否已有記錄
def check_by_get(phone_num=''):
with session_scope():
# 說明.get_or_none
result = UserInfo.get_or_none(UserInfo.phone_num == phone_num)
if result:
result = json_helper.class_to_dict(result)
return result
2:新增註冊服務介面路由:
#!/usr/bin/evn python
# coding=utf-8
"""
Author = zyx
@Create_Time: 2018/4/20 15:27
@version: v1.0.0
@Contact: 308711822@qq.com
@File: register.py
@檔案功能描述: 登入服務介面
"""
from bottle import get, post, request
from base_framework.net import web_helper, session_helper
from business_logic.api_db_logics import user_info_logic
from base_framework.utils import json_helper
@get('/api/v1/user/register/')
@post('/api/v1/user/register/')
def callback():
'''登入'''
'''1:獲取使用者提交過來的手機號碼 和 密碼進行驗證 是否已經註冊過-----其實這裡還可以進一步的進行封裝'''
if request.method.upper() in ('POST', 'PUT', 'DELETE'):
phone_num = web_helper.get_form('phone_num', '使用者號碼') # 預設開啟 不能為空的驗證
pass_word = web_helper.get_form('pass_word', '使用者密碼') # 預設開啟 不能為空的驗證
else:
phone_num = web_helper.get_query('phone_num', '使用者號碼') # 預設開啟 不能為空的驗證
pass_word = web_helper.get_query('pass_word', '使用者密碼') # 預設開啟 不能為空的驗證
'''2:根據使用者的手機號碼,進行驗證是否已註冊,如果已經註冊的話,那就再判斷密碼是否正確-----其實這裡還可以進一步的進行封裝'''
result, is_create = user_info_logic.check_or_create(pn=phone_num, pwd=pass_word)
if not is_create:
return web_helper.return_msg("9999", "該帳號已經註冊了!")
return_date = {
"data": result
}
return web_helper.return_msg("0000", "註冊成功!", return_date)
3:在user_info_logic.py的邏輯處理模組中新增一個註冊插入資料庫函式
# 如果已經有了記錄則直接的返回記錄,否則直接的建立的新的記錄
def check_or_create(pn='', pwd=''):
with session_scope():
# 說明.get_or_create
result, is_create = UserInfo.get_or_create(phone_num=pn, pass_word=pwd)
if result:
result = json_helper.class_to_dict(result)
del result['id']; # 刪除鍵是'id'的條目
return result, is_create
介面測試:
結束
註冊的邏輯其實也很簡單,就是
1:檢視資料庫有沒有此使用者存在
2:沒有使用者就直接插入資料庫一條記錄
3:然後~然後我就結束了這章了!!!
以上筆記純屬個人學習實踐總結,有興趣的同學可以加群一起學習討論QQ:308711822
相關文章
- 簡述知識付費平臺搭建過程
- 想快速搭建知識付費平臺,如何實現?
- 【Web 滲透】【機器學習】【知識付費】【介面設計】| Chat · 預告Web機器學習
- 做好知識付費平臺,要靠內容品質立足
- Python全棧Web(Django框架、模板)Python全棧WebDjango框架
- 2017年中國知識付費平臺資料盤點
- 知識付費迷路了?
- 盲目為知識付費
- 知識付費的時代
- Python全棧Web(Flask框架、多表關聯)Python全棧WebFlask框架
- ThinkPHP框架的知識付費系統原始碼AntPayCMSPHP框架原始碼
- CRMEB知識付費程式系統原始碼 全開源原始碼
- Python全棧Web(Django框架、模型中的CRUD)Python全棧WebDjango框架模型
- 個人微信公眾平臺註冊前須知
- 如何搭建知識付費系統?
- 關於知識付費的思考
- Python全棧學習_day003知識點Python全棧
- mvc架構的簡單實踐----使用者註冊的實現MVC架構
- 從零開始實現簡單 RPC 框架 4:註冊中心RPC框架
- 有這個開源專案,你也可以打造自己的知識付費平臺了
- Java註解知識梳理與簡單使用Java
- 知識付費的產生與困局
- 我們如何入局知識付費
- 知識付費二次起風?
- Python全棧學習_day001知識點Python全棧
- 簡單實現登陸註冊gui介面以及打包成exe檔案GUI
- 知識付費如何快速變現?在佈局知識付費原始碼前,需要明確些什麼?原始碼
- Python全棧Web(Ajax概述建立)Python全棧Web
- 【Python基礎知識】Django框架簡介PythonDjango框架
- 知識付費app會員增加的策略APP
- 如何搭建美妝知識付費系統
- 普通人怎麼做知識付費?
- 華菁證券:知識付費報告
- 什麼是Python Web框架?Python入門知識!PythonWeb框架
- Python變數的簡單知識Python變數
- 鬥魚直播雲原生實踐之註冊中心篇
- 固執己見的全棧web框架 — Redwood全棧Web框架
- LOVEPHP-WEB全棧開源框架釋出PHPWeb全棧框架