Flask 라우팅 개념

minho-log·2026년 2월 13일

Flask

목록 보기
3/7

<공부 주제>

Flask 라우팅 개념

<공부한 내용 정리>

라우팅(Routing)은 사용자가 특정 URL로 접속했을 때 어떤 함수가 실행될지 연결해주는 기능이다.
Flask에서는 @app.route() 데코레이터를 사용해 URL과 함수를 연결한다.

예를 들어,

  • / 로 접속하면 home 함수 실행
  • /about 로 접속하면 about 함수 실행
    이처럼 URL 경로와 파이썬 함수가 매핑된다.

기본 구조는 다음과 같다.

  • @app.route("경로")
  • 바로 아래에 실행할 함수 정의
  • 함수에서 문자열이나 HTML 반환

라우팅은 Flask의 가장 핵심적인 개념이다.
웹 서버는 결국 URL 요청을 받아 적절한 응답을 반환하는 구조이기 때문이다.

여러 개의 라우트 만들기
Flask에서는 여러 개의 URL을 쉽게 만들 수 있다.

@app.route("/")
def home():
    return "Home Page"

@app.route("/about")
def about():
    return "About Page"

각 URL마다 다른 함수가 실행된다.

동적 라우팅
URL에 값을 포함할 수도 있다.

@app.route("/user/<name>")
def user(name):
    return f"Hello {name}"

브라우저에서

/user/minho

로 접속하면

Hello minho

가 출력된다.
이처럼 URL에 포함된 값을 함수의 매개변수로 받을 수 있다.

타입 지정 라우팅
Flask는 URL 변수의 타입도 지정할 수 있다.

@app.route("/post/<int:id>")
def post(id):
    return f"Post number {id}"

여기서 <int:id>는 id를 정수로 받겠다는 의미이다.

<예제 / 실습 코드>

여러 라우트 테스트 코드

from flask import Flask

app = Flask(__name__)

@app.route("/")
def home():
    return "Home"

@app.route("/hello/<name>")
def hello(name):
    return f"Hello {name}"

@app.route("/number/<int:num>")
def number(num):
    return f"Number is {num}"

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

<헷갈렸던 점>

URL과 함수가 어떻게 연결되는지 처음에는 구조가 잘 이해되지 않았다.

<오늘의 정리>

  • 라우팅은 URL과 함수를 연결하는 기능이다.
  • @app.route()로 경로를 지정한다.
  • URL에 변수를 포함할 수 있다.
  • Flask의 핵심 구조는 요청과 응답의 연결이다.
profile
개발 공부를 하며 직접 부딪히고 공부한 것을 기록합니다.

0개의 댓글