FastAPI 12

FastAPI 개발일지12-ITEM관리

저번 포스트에는 DB를 연결하여 간단하게 item을 생성했었다.  오늘은 item을 생성하고, 수정하고, 삭제하는 작업을 해보자! 1. item 생성#item/item_router.pydef insert_data(db, table): db.add(table) db.commit() db.refresh(table) @router.post("/create_item", response_model=Create_item)def create_item(item:Create_item, item_db: Session = Depends(get_itemdb)): create_items = Item_model(item_name=item.item_name, ..

FastAPI 개발일지11 - database 연결하기

1. 세팅하기 database를 연결하기 위해서 먼저 models.py와 database.py를 작성할 것이다.  models.py는 database에 만들어질 테이블의 양식을 관리하는 파일이고,database.py는 database의 연결을 도와주는 파일이다. 먼저 anaconda를 킨 후 필요한 것을 설치한다.pip install mysql-connector-pythonconda install sqlalchemy - SQLAlchemy는 Python에서 가장 널리 사용되는 ORM (Object Relational Mapper)이다. conda install python-dotenv - dotenv의 자세한 설명은 아래 링크에서 봐주세요!https://hccode0419.tistory.com/entry..

FastAPI 개발일지10 - 중간 점검

지금까지 fastapi의 기본적인 get, post, put, delete와 APIRouter까지 배웠다. 지금까지 작성한 코드로 한 번 웹사이트와 연결하여 작동이 잘 되는지 확인해 보자.  1. main.pyfrom fastapi import FastAPIfrom fastapi.middleware.cors import CORSMiddlewarefrom item.item_router import router as item_routerapp = FastAPI()origins = ["*"]app.add_middleware( CORSMiddleware, allow_origins=origins, allow_credentials=True, allow_methods=["*"], allow..

FastAPI 개발일지9 - APIRouter

FastAPI를 통해 개발할 때 APIRouter를 사용하여 router를 관리할 수 있다. 1. Router라우터는 FastAPI의 독럽적인 endpoint를 생성하고 관리하는 역할을 한다. 이를 통해 디렉토리 구조를 명확히 하고, 코드의 재사용성을 높일 수 있다. 이제부터는 본격으로 쇼핑몰 사이트를 개발하기 위해 디렉토리를 구조화하고 코딩을 할 것이다.  2. 디렉토리 구조디렉토리를 다음과 같이 구성한 후 프로젝트 개발을 시작하겠다. └─project-fastapi │ database.py │ main.py │ models.py │ README.md │ ├─history │ history_crud.py │ history_router...

FastAPI 개발일지8 - Path, Query, Request body

FastAPI에서는 parameter를 query와 path로 구분한다.  1. 경로 파라미터(Path parameters)경로 파라미터는 URL의 경로에 "/"를 구분으로 포함되는 파라미터이다.@app.get("/get_item/{item_id}")def get_item(item_id:int): for item in items: if item["item_id"] == item_id: return item return {"error": "Item not found"}- "/"를 기준으로 {}안의 변수가 path parameter가 된다. FastAPI docs에서 보면 실제로 주소가 "/"를 기준으로 나온 것을 확인할 수 있다,    실제로 URL로 접근하면 다..

FastAPI 개발일지7 - get, post, put, delete

FastAPI HTTP 메소드에는 get, post, put, delete가 있다쇼핑몰 상품을 예로 들어보자 item이 다음과 같이 있을 때 해당 아이템들을 보여주고 싶기도 하고, 추가하고 싶기도 하고, 수정 및 삭제도 하고 싶다바로 CRUD를 하고 싶은 것이다. C : CreateR : ReadU : UpdateD : Deleteitems = { 1 : {"item_name":"untoc", "item_price":15000}, 2 : {"item_name":"phone", "item_price":35000}, 3 : {"item_name":"computer", "item_price":24000}, 4 : {"item_name":"pencil", "item_price":1000},..

FastAPI 개발일지6 - FastAPI 시작하기

1. vscode 실행하기1) 먼저 github desktop에서 사용할 repository에 연결한다. 이후 상단바의 Repository > open in Visual Studio Code를 클릭 2) Ctrl + Shift + p -> Python: Select Interpreter 클릭가상환경을 변경하는 작업이다.우리가 만든 fastapi를 선택한다! 2. 디렉토리 구조└─project-fastapi │ database.py │ main.py │ models.py │ README.md │ ├─history │ history_crud.py │ history_router.py │ history_schema.py │ ..

FastAPI 개발일지5 - Database 구축하기

1. Database 쇼핑몰에서의 모든 데이터는 database에 저장할 것이다 우리가 사용할 database는 mysql이다. mysql을 사용하기 위해 mysqlworkbench를 설치해 보자2. MySQL Workbench 설치MySQL Workbench 설치 방법은 아래 포스터를 참고하여 설치해 주세요!https://hccode0419.tistory.com/8 3. ERD 구축하기먼저 쇼핑몰을 개발할 때 어떤 데이터를 저장하고 이용할지 먼저 생각해야 한다.1) ERD : Entity Relation Diagram의 약자로 데이터베이스의 구조를 나타낸다.아래 주소에서 사용할 수 있다. https://dbdiagram.io/home dbdiagram.io - Database Relationship D..

FastAPI 개발일지4 - IA(Information Architecture) 작성하기

1. IA : 정보 구조도기능 명세서 작성을 완료했으니, 이제부터 전체적으로 개발을 진행할 방향성을 잡아보자바로 IA (information architecture)를 그릴 것이다. IA란 간단하게 말하면 서비스의 목차를 표현하는 것이다.  쉽게 말하면 페이지의 흐름을 정리해 놓은 것이다.  IA는 Figma를 통해서 그려보겠다  https://www.figma.com/ Figma: The Collaborative Interface Design ToolFigma is the leading collaborative design tool for building meaningful products. Seamlessly design, prototype, develop, and collect feedback in..

FastAPI 개발일지2 - Github desktop

1. github desktop 다운로드깃허브 관리를 편하게 하기 위해서 사용한다!아래 링크에 들어가면 설치할 수 있다.https://github.com/apps/desktop이제 깃허브 데스크탑 설치를 완료했다.   2. github desktop 기본 세팅1) File > options로 이동2) accounts 에서 Sign into Github.com 클릭 3) 로그인을 완료하면 끝3. 레포지토리 가져오기깃허브 연결을 완료 했으면 이제 repository를 가져올 것이다.1) Clone a repository from the internet 클릭 2) 사용할 repository 선택후 clone 4. 사용하기1) Repository  > open in visual studio code 클릭 이제부..

반응형