실습_블로그 구현 (Flask-MySQL를 활용)
이번 실습에서는 Flask와 MySQL을 활용하여 간단한 블로그 시스템을 구현합니다. 블로그 시스템은 사용자에게 게시물을 생성, 조회, 수정 및 삭제할 수 있는 기능을 제공합니다. 아래에서는 전체 코드를 제시한 후, 각 프로세스를 단계별로 설명하겠습니다.
프로젝트 구조
my_flask_app/
│
├── app.py # Flask 애플리케이션 설정 및 라우팅
├── posts_routes.py # 게시물 관련 라우트 처리
├── db.yaml # 데이터베이스 연결 정보
└── templates/
├── posts.html # 게시물 리스트 및 작성 폼
└── post.html # 개별 게시물 표시
1. 데이터베이스 및 테이블 생성
먼저 MySQL에서 사용할 데이터베이스 **oz**를 생성하고, 게시물 데이터를 저장할 테이블 **posts**를 생성합니다. MySQL 콘솔 또는 관리 도구에서 아래의 SQL 쿼리를 실행하여 데이터베이스와 테이블을 설정할 수 있습니다.
MySQL 쿼리:
USE oz;
CREATE TABLE posts (
id INT AUTO_INCREMENT PRIMARY KEY, -- 게시물 고유 ID (자동 증가)
title VARCHAR(100), -- 게시물 제목
content TEXT, -- 게시물 내용
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- 게시물 작성 시간 (기본값: 현재 시간)
);
-- 게시물 작성 시간 (기본값: 현재 시간) );
- id: 각 게시물의 고유 식별자로, 자동 증가 값으로 설정됩니다.
- title: 게시물 제목을 저장하는 칼럼입니다.
- content: 게시물 내용을 저장하는 텍스트 칼럼입니다.
- created_at: 게시물이 작성된 시간을 기록하는 칼럼입니다. TIMESTAMP 형식이며 기본값으로 현재 시간을 자동으로 입력받습니다.
이제 oz 데이터베이스에 posts 테이블이 생성되었습니다. 이 테이블은 게시물을 저장하는 데 사용됩니다.
2. Flask 애플리케이션 설정
이제 Flask 애플리케이션을 설정하고 MySQL과의 연결을 구성하는 단계입니다. Flask 애플리케이션이 MySQL 데이터베이스와 연결되도록 Flask-MySQL을 사용합니다. 먼저 데이터베이스 연결 정보를 담을 db.yaml 파일을 작성하고, Flask 애플리케이션에서 이를 로드하여 MySQL에 연결합니다.
db.yaml 파일
mysql_host: 'localhost' # MySQL 서버 호스트 (로컬호스트)
mysql_user: 'root' # MySQL 사용자명
mysql_password: 'oz-password' # MySQL 비밀번호
mysql_db: 'oz' # 사용할 데이터베이스 이름
- mysql_host: MySQL 서버의 호스트 주소입니다. 로컬 환경에서는 localhost로 설정합니다.
- mysql_user: MySQL에 접속할 사용자 계정입니다.
- mysql_password: MySQL 사용자 계정의 비밀번호입니다.
- mysql_db: 연결할 데이터베이스의 이름입니다. 이 예제에서는 oz 데이터베이스를 사용합니다.
'Flask' 카테고리의 다른 글
Chapter 4-7 Flask Authentication/ Session 인증 방식 (0) | 2025.04.22 |
---|---|
Chapter 4-6 실습_블로그 구현 (Flask-MySQL를 활용) posts_routes.py (0) | 2025.04.22 |
Chapter 4-3 실습_블로그 구현 (Flask-MySQL를 활용) templates/posts.html (0) | 2025.04.22 |
Chapter 4-2 실습_블로그 구현 (Flask-MySQL를 활용) (0) | 2025.04.22 |
Chapter 4-1 Flask-Migrate란? (0) | 2025.04.22 |