Blueprint 이름은 Flask 내부에서 라우트와 뷰 함수를 구분하는 데 사용된다

2025. 4. 18. 18:32·기술블로그-Flask편

1. Blueprint 이름은 Flask 내부에서 라우트와 뷰 함수를 구분하는 데 사용됩니다.

예시: 학교의 수업과 교과서

  • Blueprint 이름은 학교의 과목명 같아. 예를 들어, Blueprint('math', __name__)이라고 하면 "수학 과목"이 되는 거야.
  • 라우트는 수업 시간표의 각 과목을 나타내. 예를 들어, "1교시 수학" 같은 거야.
  • 뷰 함수는 그 과목에서 실제로 배우는 내용이지. 예를 들어, 수학에서 "덧셈과 뺄셈"을 배우거나, "미적분"을 배우는 것처럼.

Blueprint 이름을 'math'라고 하면, Flask는 이 과목에 대한 정보(수업 시간표나 내용)를 관리하고, 그 안에서 다루는 라우트와 뷰 함수도 수학 과목에 관련된 것들로 다룰 수 있게 되는 거야.

 
math_blp = Blueprint('math', __name__)  # 'math'라는 과목을 만든다고 생각해!

2. 현재 모듈 이름(name)은 Blueprint의 리소스를 찾는 데 필요합니다.

예시: 책의 위치

  • **__name__**은 책이 어디에서 출판되었는지를 알려주는 출판사 같은 거야.
  • 예를 들어, book_blp = Blueprint('books', __name__)에서 __name__은 "책이 어디서 왔는지"를 알려줘. 책이 어디서 출판되었는지를 알면, 그 책에 있는 각 장의 내용을 찾을 수 있게 되는 거야.

예시 코드

# books.py (책이 정의된 파일)
from flask import Blueprint

# 'books'는 책 제목, '__name__'은 책의 출판사(책이 이 파일에서 왔음을 알려주는 역할)
book_blp = Blueprint('books', __name__)

@book_blp.route('/list')  # '목차'에 해당하는 부분
def list_books():         # '책 내용'에 해당하는 부분
    return "Here is the list of books!"
 
# app.py (책을 사용하는 곳)
from flask import Flask
from books import book_blp

app = Flask(__name__)
app.register_blueprint(book_blp)  # 책을 등록하고 사용하는 과정

if __name__ == '__main__':
    app.run(debug=True)

정리

  1. Blueprint 이름은 학교 과목처럼, 라우트(시간표)와 뷰 함수(내용)를 구분하고 관리할 수 있게 해줘.
  2. **__name__**은 책이 어디서 왔는지 알려주는 출판사처럼, Flask가 Blueprint에서 리소스(파일, 내용)를 찾을 수 있도록 도와줘.

**'math'**와 같은 Blueprint 이름은 주로 기능적으로 구분하는 역할만 해. 실제로 코드에서 직접 사용되거나 불러오는 일이 없다는 거야. 예를 들어, 'math'라는 이름은 Flask가 내부적으로 Blueprint를 구분하는 데만 사용되고, 다른 코드에서 이름을 직접 불러오거나 활용하는 일은 없지.

Blueprint 이름 ('math')의 역할

  • Blueprint 이름은 단순히 구분을 위한 태그처럼 생각하면 돼.
  • **'math'**라는 이름을 붙여서 나중에 Flask가 수학 과목 관련 코드를 찾고 구분할 수 있도록 돕는 역할이야.
  • 이 이름은 Flask가 이 Blueprint를 식별하고, 이 Blueprint에 속한 라우트(route)나 뷰 함수(view function)를 관리하는 데만 쓰여.

즉, 'math'라는 이름은 실제로 다른 코드에서 직접 호출되거나 사용되는 것이 아니라, Flask 내부에서 이 Blueprint가 무엇인지 식별하는데만 쓰인다는 거야.

예시

# books.py
from flask import Blueprint

book_blp = Blueprint('books', __name__)  # 'books'는 이 Blueprint의 이름

@book_blp.route('/list')  # '/list'는 '목차'라고 할 수 있어
def list_books():  # '책 내용'에 해당하는 부분
    return "Here is the list of books!"

 

이 코드에서 'books'는 그냥 Blueprint의 이름일 뿐, 다른 코드에서 books를 직접 호출하거나 활용하는 일은 없어. Flask는 Blueprint 이름을 통해 이 Blueprint가 어떤 그룹에 속하는지 파악하고, 그에 따라 라우트나 뷰 함수들을 묶어서 관리하는 역할을 해.

왜 books 이름을 붙일까?

  • 이 Blueprint가 책 관리와 관련된 모든 코드와 라우트를 다루고 있다는 걸 나타내기 위해 이름을 붙이는 거야.
  • 예를 들어, 'books'라는 이름을 붙였으니까 나중에 책 관련 기능을 따로 관리하고, 다른 Blueprint와 구분할 수 있겠지.

중요한 점: 이름이 코드에서 직접 사용되지는 않아

  • **'math'**라는 이름이 다른 코드에서 직접 사용되거나 불러오는 일이 없다는 점에서 기능적인 역할은 없다고 할 수 있어.
  • 다만, Blueprint 이름은 Flask 내부에서 이 Blueprint를 관리하고 구분하는 데만 쓰인다고 이해하면 돼!

결론적으로, 'math'라는 이름은 Flask가 Blueprint를 구분하고, 라우트와 뷰 함수들을 함께 묶어서 관리하는 데 쓰이는 구분자 역할만 한다는 거야. 😊

'기술블로그-Flask편' 카테고리의 다른 글

Flask-Smorest의 응답 처리 방식  (0) 2025.04.18
Flask의 기능 + Blueprint + Flask-Smorest 통한 작업섹션 구분  (0) 2025.04.18
클래스와 객체, self에 대한 자세한 설명  (0) 2025.04.18
API에 대한 이해  (0) 2025.04.18
✅ Flask에서 JSON 응답 순서 보장하기 (OrderedDict 활용)  (0) 2025.04.18
'기술블로그-Flask편' 카테고리의 다른 글
  • Flask-Smorest의 응답 처리 방식
  • Flask의 기능 + Blueprint + Flask-Smorest 통한 작업섹션 구분
  • 클래스와 객체, self에 대한 자세한 설명
  • API에 대한 이해
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (612)
      • Python (32)
      • 프로젝트 (43)
      • 과제 (25)
      • Database (40)
      • 멘토링 (10)
      • 특강 (31)
      • 기술블로그 (32)
      • 기술블로그-Fastapi편 (0)
      • 기술블로그-Django편 (143)
      • 기술블로그-Flask편 (35)
      • AI 분석 (4)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (66)
      • Fastapi (0)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Blueprint 이름은 Flask 내부에서 라우트와 뷰 함수를 구분하는 데 사용된다

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.