Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- langchain
- 파이썬웹개발
- 비지도학습
- 머신러닝
- 랭체인
- fastapi #python웹개발
- 사이킷런
- 판다스 데이터정렬
- HTML
- OpenAIAPI
- konlpy
- pandas
- MachineLearning
- Python
- 딥러닝
- sklearn
- NLP
- 챗gpt
- deeplearning
- pytorch
- 파이토치
- fastapi
- fastapi #파이썬웹개발
- 파이토치기본
- 판다스
- 자연어분석
- chatGPT
- 파이썬
- python 정렬
- programmablesearchengine
Archives
- Today
- Total
Data Navigator
FastAPI로 이벤트 플래너 만들기 02 - 모델 구현 - 본문
FastAPI로 이벤트 플래너 만들기 02
- 모델 구현 -
이벤트 플래너를 만들기 위해 이벤트 모델과 사용자 모델을 구현한다.
1. events 모델 구현
models 디렉토리 안에 있는 events.py 파일에 아래의 내용을 구현한다.
# models/events.py
from pydantic import BaseModel
from typing import List
class Event(BaseModel):
id : int
title : str
image : str
description : str
tags : List[str]
location : str
# 위 모델의 샘플 데이터를 보여주기 위한 Config class 작성
class Config:
json_schema_extra = {
"example" : {
"title" : "이벤트 플래너 샘플",
"imgae" : "https://linktomyimage.com/image.png",
"description" : "이벤트 플래너 데이터 샘플",
"tags" : ["python","fastapi","book","sample"],
"location" : "서울"
}
}
2. 사용자 모델 구현
models 디렉토리의 users.py에 사용자 모델과 사용자 로그인 모델을 구현한다.
1) User 모델 구현
# model/users.py
from pydantic import BaseModel, EmailStr
from typing import Optional, List
from models.events import Event
# 사용자 모델
class User(BaseModel):
email : EmailStr
password : str
events : Optional[List[Event]]
# 입력 예제 작성
class Config:
json_schema_extra= {
"example" : {
"email" : "fastapi@naver.com",
"password" : "str0ng!!!!",
"events" : [],
}
}
2) UserSignIn 모델 (사용자 로그인 모델) 구현
User(사용자 모델) 바로 아래에 연달아서 작성한다.
# 사용자 로그인 모델
class UserSignIn(BaseModel):
email : EmailStr
password : str
class Config:
json_schema_extra = {
"example" : {
"email" : "fastapi@naver.com",
"password" : "string!!!",
"events" : [],
}
}
출처: 아데시나, 압둘라지즈 압둘라지즈. FastAPI를 사용한 파이썬 웹 개발. 번역 김완섭. 한빛미디어, 2023
'FastAPI' 카테고리의 다른 글
FastAPI로 이벤트 플래너 만들기 04 - DB 연결하기 (0) | 2024.05.12 |
---|---|
FastAPI로 이벤트 플래너 만들기 03 - 라우트 구현 - (0) | 2024.05.12 |
FastAPI로 이벤트 플래너 만들기 01 - 환경설정 및 기본 구조 생성 - (0) | 2024.05.12 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기10 - home.html, todo.html 만들기 (0) | 2024.05.12 |
FastAPI 설치 환경 세팅 및 간단한 테스트 웹 만들기9 - Jinja 패키지로 홈페이지 템플릿 만들기 - (0) | 2024.05.11 |