app層寫法
@route(api,'/user', methods=['POST'])
def create_user():
req = request.get_json()
hashed_password = generate_password_hash(req['password'], method='sha256')
data = {
'public_id': str(uuid.uuid4()),
'username': req['username'],
'password': hashed_password,
'admin': False
}
dao.add_user(data)
dao層寫法
def add_user(data):
cursor = CONN.cursor()
sql = 'INSERT INTO users (public_id,username,password,admin) values (%s,%s,%s,%s)'
cursor.execute(sql,[data['public_id'], data['username'], data['password'], data['admin'],])
CONN.commit()
return None
需要特別注意兩點:
sql的插入語句中
values (%s,%s,%s,%s)
否則會報錯
TypeError: not all arguments converted during string formatting
以及提交時CONN.commit
不然數據庫中嗎沒有記錄