Chapter 4-4 실습_블로그 구현 (Flask-MySQL를 활용) MySQL 쿼리, db.yaml

2025. 4. 22. 14:13·Flask

실습_블로그 구현 (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
'Flask' 카테고리의 다른 글
  • Chapter 4-7 Flask Authentication/ Session 인증 방식
  • Chapter 4-6 실습_블로그 구현 (Flask-MySQL를 활용) posts_routes.py
  • Chapter 4-3 실습_블로그 구현 (Flask-MySQL를 활용) templates/posts.html
  • Chapter 4-2 실습_블로그 구현 (Flask-MySQL를 활용)
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (800) N
      • Python (32)
      • 프로젝트 (115) N
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    classaction
    RM
    titaniumcase
    urbantrends
    hotcoffeecase
    chinanightlife
    travel ban
    basalcellcarcinoma
    smartphonedurability
    btsreunion
    chatgpterror
    livebroadcast
    remittance
    btsdischarge
    global politics
    lawsuitculture
    homebartrend
    gpterror
    youngprofessionals
    bts
    btsjungkook
    americaparty
    btscomeback
    americanlaw
    뷔
    college reunions
    life reflection
    self-growth
    trumpmuskclash
    newpoliticalparty
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 4-4 실습_블로그 구현 (Flask-MySQL를 활용) MySQL 쿼리, db.yaml
상단으로

티스토리툴바