728x90
오늘은 정보 수정을 해야겠다
정보 수정할 모든 데이터는 닉네임, 패스워드이고 이 2개만 하면되서 비교적으로 간단한거같다..아마두 ㅋㅋ
main.py
#상단 부분에 update_user_info
from BE.crud import create_user, get_user, verify_password, get_user_info, update_user_info
@app.patch("/users/{userId}")
def update_user(userId: int, db: Session = Depends(get_db)):
update_user_info(db, userId)
return JSONResponse(content={"message": "정보가 수정되었습니다."}, status_code=200)
crud.py
def update_user_info(db: Session, userId: int):
user_info_db = db.query(User).filter(User.id == userId).first()
if not user_info_db:
return None
if update_user_info.nickname is not None:
user_info_db.nickname = update_user_info.nickname
if update_user_info.password is not None:
user_info_db.password = bcrypt.hashpw(update_user_info.password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
db.commit()
db.refresh(user_info_db)
return user_info_db
라고 정신없이 적었고 서버를 실행하고 해봤다
띠옹??
아.. ㅋㅋㅋ 바디데이터를 안보내줬구낰ㅋㅋ
schemas.py
class UserUpdate(BaseModel):
nickname: str = None
password: str = None
를 추가 하고
main.py
# 상단에 UserUpdate 추가
from BE.schemas import UserCreate, UserLogin, UserUpdate
#update_user 보내주게 수정
@app.patch("/users/{userId}")
def update_user(update_user: UserUpdate, userId: int, db: Session = Depends(get_db)):
update_user_info(db, userId, update_user)
return JSONResponse(content={"message": "정보가 수정되었습니다."}, status_code=200)
crud.py
여기도 수정해줬다 ㅜㅜ ㅋㅋ
def update_user_info(db: Session, userId: int, update_user: UserUpdate):
user_info_db = db.query(User).filter(User.id == userId).first()
if not user_info_db:
return None
if update_user.nickname is not None:
user_info_db.nickname = update_user.nickname
if update_user.password is not None:
user_info_db.password = bcrypt.hashpw(update_user.password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
db.commit()
db.refresh(user_info_db)
return user_info_db
아이 너무 잘 돼~
본 후기는 정보통신산업진흥원(NIPA)에서 주관하는 <AI 서비스완성! AI+웹개발 취업캠프 - 프론트엔드&백엔드> 과정 학습/프로젝트/과제 기록으로 작성되었습니다.
'코딩캠프 > AI 웹개발 취업캠프' 카테고리의 다른 글
[AI 웹개발 취업캠프] 66Day - 프로젝트 17일차 (0) | 2023.10.24 |
---|---|
[AI 웹개발 취업캠프] 65Day - 프로젝트 16일차 (0) | 2023.10.23 |
[AI 웹개발 취업캠프] 63Day - 프로젝트 14일차 (2) | 2023.10.19 |
[AI 웹개발 취업캠프] 62Day - 프로젝트 13일차 (2) | 2023.10.18 |
[AI 웹개발 취업캠프] 61Day - 프로젝트 12일차 (0) | 2023.10.17 |