9-3 : 도서관 대여 서비스 (개인 프로젝트)

Sue·2021년 11월 18일
0

엘리스 AI 트랙

목록 보기
3/10

[엘리스 AI 트랙] 9주차 - 3

  • python으로 img url 데이터 mysql에 삽입
  • 회원가입 기능 구현
  • 로그인, 로그아웃 기능 구현

TIL

  • 예전에 엘리스 실습에서 진행했던 회원가입, 로그인, 로그아웃 코드 활용하여 세 가지 기능 구현.

    <Error 해결 로그>

    1. User 테이블에서 저장하는 내용이 다르므로 맞추어 User 테이블 구성. (기존 id, pw -> 현재 name, email, pw)
    2. 1번으로 파생된 변수명으로 인한 오류 해결 (api.py, models.py User 테이블 init 함수, 회원가입/로그인 html 파일의 ajax post 요청 등)
    3. bcrypt로 암호화하여 pw 저장하면서 글자 수가 너무 길어짐 : 기존에 생각했던 데이터 타입을 벗어나는 형태 -> alter로 타입 변경

    1. 타입 변경 후 회원가입 진행. user 데이터 다시 조회하면 아래처럼 나옴.

  • python으로 img url 데이터 mysql에 삽입(기존 데이터에 img_url 컬럼 값만 변경하기)
import mysql.connector

mydb = mysql.connector.connect(
  host="localhost",
  user="유저",
  password="비밀번호",
  database="elice_library"
)

mycursor = mydb.cursor()

sql = "UPDATE books_tb SET img_url=%s WHERE _id=%s"
path = "C:/ProgramData/MySQL/MySQL Server 8.0/Uploads/book_img"
data_cnt = 32
for i in range(1, data_cnt+1):
    new_path = path + '/'+str(i)
    try:
        open(f'{new_path}.png')
        new_path += '.png'
    except:
        new_path += '.jpg'
    val = (new_path, i)
    mycursor.execute(sql, val)

mydb.commit()

print(mycursor.rowcount, "record inserted.")
  • books_tb의 _id인 1~32에 해당하는 그림이 같은 디렉토리에 1~32로 저장되어 있어서, 어제 엑셀로 데이터 삽입할 때 같이 수동으로 넣어줄까 하다가 python으로 삽입. png와 jpg를 선택하는 문제는 try except문으로 해결.

0개의 댓글