##1.列舉類的編寫
##2.驗證器的編寫
from wtforms import form
from wtforms import stringfield, integerfield
from wtforms.validators import datarequired, length, email
class
clientform
(form)
: account = stringfield(
label=
'賬號',)
password = stringfield(
label=
'密碼',)
type
= integerfield(
label=
'型別'
, validators=
[ datarequired(message=
'型別不能為空')]
)def
validate_type
(self, field)
:type
= field.data
try: enum_type = clienttypeenum(
type
)# enum_type是列舉型別
except exception as e:
raise e
self.
type
.data = enum_type # 把驗證器中的type換成其所對應的列舉型別
##3.控制器的編寫(檢視函式)
##4.定製sqlalchemy
##5.在models資料夾下例項化物件並建立基類和user類
##6.在flask核心物件中註冊sqlalchemy的物件
# -*- coding: utf-8 -*-
# @author: lai
from flask import flask
def():
# 建立flask核心物件
# 載入配置檔案
)# 註冊sqlalchemy的物件
# 註冊藍圖
defregister_plugin:)
: db.create_all(
)def
register_blue:)
, url_prefix=
'/v1'
)
# -*- coding: utf-8 -*-
# @author: lai
debug=
true
# 必填
secret_key =
"f2f641ad648e4e5a81034a89a0ffbd80"
# sqlalchemy配置檔案
sqlalchemy_database_uri =
"mysql+pymysql://root:123456@localhost/api_test"
sqlalchemy_track_modifications =
true
# -*- coding: utf-8 -*-
# @author: lai
import unittest
class basetest(unittest.testcase):
def setup(self):
def teardown(self):
@unittest.skip
def test_register(self):
with db.auto_commit():
user = user()
user.email = "123456@163.com"
user.password = "123456"
user.nickname = "jack"
db.session.add(user)
##7.完成註冊的編寫
# -*- coding: utf-8 -*-
# @author: lai
from
.import db
from
.base import base
from werkzeug.security import generate_password_hash, check_password_hash
class
user
(base):.
....
....
@staticmethod
defregister_by_email
(nickname, account, password)
:with db.auto_commit():
user = user(
) user.email = account
user.password = password
user.nickname = nickname
db.session.add(user)
# -*- coding: utf-8 -*-
# @author: lai
from flask import request
api = red_print(
'client'
)@api.route(
'/register'
, methods=
['post'])
defcreate_client()
: data = request.json
form = clientform(data=data)
# 接收json格式資料指定data=data
if form.validate():
promise =
promise[form.
type
.data]()
# form.type.data 在驗證器中已經換成了列舉型別
return
"success"
# 暫時
def__register_user_by_email()
: data = request.json
form = emailclientform(data=data)
if form.validate():
user.register_by_email(form.nickname.data,
form.account.data,
form.password.data)
def__register_user_by_mobile()
:pass
def__register_user_by_mina()
:pass
第二章 使用者需求分析
第二章 使用者需求分析 1.需求分析基本方法 1 怎樣獲取使用者需求?a 網路工程面向的是特定行業或特定使用者 如金融行業 使用者提交業務需求書是重要的資訊 b 如果系統整合商與使用者建立長期的合作關係,則在合作過程中可以培養使用者提出需求和表達需求的能力,或者聯合成立需求小組,共同開發需求 c 網...
MySQL第二章總結 Mysql第二章 儲存引擎
1 本章目標 儲存引擎 資料型別 重點 2 儲存引擎 在關係型資料庫中,資料儲存在表中,表由行和列組成。開發中,可能需要各種不同的表,有的表簡單,有的表複雜,有的表讀取快,有的讀取資料慢,有的表更新快等。根據對資料的不同的處理需求,使用不同的儲存引擎,可以將mysql資料庫的效能發揮到最大。查詢my...
領悟(第二章)
當火車緩緩駛進車站的時候,夜幕已經降臨了。終於到了!望著窗外鐵道兩旁的燈火,我的內心不禁再一次的激動起來,一路上對今後在這個大都市的未來生活的想象已經讓我從昨天晚上上車一直興奮到現在了!平常這個時候應該正和朋友們一起在酒吧聊天吧,朋友們,你們現在還在談論我來這裡的目的麼?說實話,這個問題連我自己都說...