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
不然數據庫中嗎沒有記錄

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