第二章 API中的使用者註冊

2021-08-20 22:13:42 字數 4090 閱讀 2148

##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 = "[email protected]"

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...

領悟(第二章)

當火車緩緩駛進車站的時候,夜幕已經降臨了。終於到了!望著窗外鐵道兩旁的燈火,我的內心不禁再一次的激動起來,一路上對今後在這個大都市的未來生活的想象已經讓我從昨天晚上上車一直興奮到現在了!平常這個時候應該正和朋友們一起在酒吧聊天吧,朋友們,你們現在還在談論我來這裡的目的麼?說實話,這個問題連我自己都說...