Flask开发中数据库插入

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章