📌 개념 정리
이번 실습에서는 Flask와 MySQL을 활용하여 간단한 블로그 시스템을 구현합니다. 이 시스템은 사용자가 게시글을 생성, 조회, 수정, 삭제할 수 있도록 합니다. 이를 위해 Flask 애플리케이션을 설정하고, MySQL 데이터베이스와 연동하여 CRUD 연산을 수행하는 방법을 배우게 됩니다.
🚦 동작 원리 및 구조
이 프로젝트는 MySQL 데이터베이스에 **posts**라는 테이블을 만들고, 이를 통해 블로그 게시글을 관리합니다. 각 라우트는 HTTP 요청에 따라 SQL 쿼리를 실행하고, 데이터를 처리하여 HTML 템플릿으로 응답합니다.
- GET /posts: 모든 게시글을 조회합니다.
- GET /posts/<id>: 특정 ID를 가진 게시글을 조회합니다.
- POST /posts: 새 게시글을 생성합니다.
- PUT /posts/<id>: 특정 ID를 가진 게시글을 수정합니다.
- DELETE /posts/<id>: 특정 ID를 가진 게시글을 삭제합니다.
실습_블로그 구현 (Flask-MySQL를 활용)
목표요구 사항
- 데이터베이스 설정:
- MySQL 데이터베이스에 blog 데이터베이스를 생성합니다.
- posts 테이블을 다음과 같이 정의합니다:
- id: INT, Primary Key, 자동 증가
- title: VARCHAR(100), 게시글 제목
- content: TEXT, 게시글 내용
- created_at: TIMESTAMP, 기본값 CURRENT_TIMESTAMP
- Flask 애플리케이션 설정:
- Flask 애플리케이션을 설정하고 Flask-MySQL 확장을 사용하여 MySQL 데이터베이스에 연결합니다.
- db.yaml 파일에 데이터베이스 연결 정보를 저장하고, Flask 애플리케이션에서 이를 로드합니다.
- 라우트 및 뷰 함수 구현:
- GET /posts: 모든 게시글을 조회합니다.
- GET /posts/<id>: 특정 ID를 가진 게시글을 조회합니다.
- POST /posts: 새 게시글을 생성합니다.
- PUT /posts/<id>: 특정 ID를 가진 게시글을 수정합니다.
- DELETE /posts/<id>: 특정 ID를 가진 게시글을 삭제합니다.
- 프론트엔드:
- 각 라우트에 맞는 HTML 템플릿을 만듭니다.
- 게시글 목록, 게시글 상세 보기, 게시글 작성 폼을 포함합니다.
참고
- 데이터베이스 연결 설정은 보안을 위해 별도의 파일(db.yaml)에 저장하고, 이를 읽어서 사용합니다.
- 각 라우트에 대한 SQL 쿼리를 작성하고 실행합니다.
- CRUD 연산을 수행하는 뷰 함수를 구현합니다.
- Flask와 MySQL 데이터베이스를 사용하여 간단한 블로그 시스템을 구축하는 실습을 진행합니다. 이 시스템은 사용자가 블로그 포스트를 생성, 조회, 수정, 삭제할 수 있게 해야 합니다.
✅ 마무리 요약 및 복습 포인트
- Flask 애플리케이션에서 MySQL과 연결하여 CRUD 연산을 처리하는 방법을 배웠습니다.
- Flask-MySQL을 사용하여 db.yaml 파일을 통한 데이터베이스 연결 설정을 했습니다.
- GET, POST, PUT, DELETE 요청을 처리하는 뷰 함수를 작성하고, 이를 통해 블로그 시스템을 구축하는 방법을 익혔습니다.
- 각 라우트에 맞는 HTML 템플릿을 구현하여 프론트엔드와 백엔드가 유기적으로 연결되도록 했습니다.
'Flask' 카테고리의 다른 글
Chapter 4-4 실습_블로그 구현 (Flask-MySQL를 활용) MySQL 쿼리, db.yaml (0) | 2025.04.22 |
---|---|
Chapter 4-3 실습_블로그 구현 (Flask-MySQL를 활용) templates/posts.html (0) | 2025.04.22 |
Chapter 4-1 Flask-Migrate란? (0) | 2025.04.22 |
Chapter 3-12 Flask 개념 정리 (0) | 2025.04.21 |
Chapter 3-11 직렬화(Serialization) & 역직렬화(Deserialization) (0) | 2025.04.21 |