웹알못, 파이썬으로 홈페이지/웹 개발하기 007_FastAPI 기초공사(백엔드 프로그램) 1

[지금까지 진행율] 12%


[목표]

* APIROUTER를 이용한 라우트함수 관리

* SQLALchemy를 이용해 데이터베이스 제어

* 웹 게시판 질문 목록과 상세 조회 기능 생성


[기초공사]

1. 프로젝트 FastAPI 구조 고민하기 (책에서 알려준 구조)

 
 - main.py = FastAPI의 프로젝트 전체적인 환경을 설정 (현재는 존재하는 파일)

 - database.py = 이름, 주소, 사용자, 비밀번호 등 데이터베이스 관리

 - models.py = ORM을 지원하는 SQLAlchemy 를 사용하여 데이터 베이스 처리하여 모델 클래스 정의

 - domain = 질문답변 게시판을 만들기 위하여 API를 구성하는 도메인 디렉토리

 - frontend = 스벨트 프레임워크 설치 디렉토리


2. 모델로 데이터 베이스 관리

 - 내가 만들 프로젝트는 커뮤니티 게시판이 포함된 홈페이지이다. 책에서 배운 후 나중에 공부하고 수정해나가면서 완성해 갈 것이다. 

 - ORM을 이용하여 데이터를 처리할 것이다. 

 - 일관된 코드를 유지할 수 있어 프로그램을 유지, 보수하기가 편리하다. 

 - 내부에서 안전한 SQL 쿼리를 자동으로 생성해 주므로 개발자가 달라도 통일된 쿼리를 작성할 수 있고 오류 발생률도 줄일 수 있다.  (진짜 중요함. 별표 백만개)


3. ORM 라이브러리를 설치한다. 

 - 파이참 터미널에서 아래와 같이 코드를 넣는다. 



 - FastAPI 에 ORM을 적용하려면 데이터베이스 설정 필요, website에 database.py 디렉토리 생성하고 코드를 작성한다. 


 - 코드 설명은 지피티를 돌리거나, 위키독스, 또는 책을 참조


4. 웹 모델 만들기

 - 모델에 필요한 속성


 - models.py 를 생성하고 아래의 코드를 넣자.



 - 데이터베이스 테이블 생성을 위해 alembic을 설치하고, 초기화를 진행한다. 



 - 리비전 파일 : alembic을 이용하며 테이블을 생성 또는 변경할 때마다 생성되는 작업 파일

 - alembic이 사용할 데이터베스의 접속주소를 설정한다.


 - migrations 디렉터리의 env.py 파일 수정


 - 리비전 파일 생성하기


- 리비전 파일 실행하기



5. DB Browser for SQLite 설치 

   sqlitebrower Site down, 근데 본인은 네트워크 불량이라고 하면서 다운이 안되서

   filehors Site down, 에서 다운 받음




 - 데이터베이스 파일 열기


 - 위에서 생성한 answer와 qustion 확인됨!




어찌저찌 왔는데, 중간이 기억이 안난다. 일단 GO









댓글 쓰기

0 댓글