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
不然数据库中吗没有记录