1. 라우팅이란?
라우팅은 사용자가 웹사이트의 특정 **주소(URL)**를 입력했을 때, Flask가 어떤 페이지를 보여줄지를 결정하는 규칙입니다.
예를 들어:
- 사용자가
https://mywebsite.com/home
을 입력하면 “홈페이지”를 보여줘야 하고, https://mywebsite.com/about
을 입력하면 “소개 페이지”를 보여줘야 하죠.
Flask는 이런 URL과 페이지를 연결해주는 역할을 합니다.
2. Flask에서 라우팅 동작 방식
플라스크에서는 **@app.route()**라는 데코레이터를 사용하여 특정 URL과 함수를 연결합니다.
- URL을 지정하면 Flask는 사용자가 그 URL로 접속했을 때 실행할 코드를 찾아줍니다.
간단한 예시
from flask import Flask
app = Flask(__name__)
@app.route('/') # 홈페이지에 해당
def home():
return "Welcome to the Home Page!" # 이 메시지가 사용자에게 보임
@app.route('/about') # /about 주소에 해당
def about():
return "This is the About Page!"
/
를 입력하면 **”Welcome to the Home Page!”**를 보여줍니다./about
를 입력하면 **”This is the About Page!”**를 보여줍니다.
3. 라우팅을 사용하는 이유
- 사용자 경험 개선: 사용자가 원하는 페이지로 쉽게 이동 가능.
- 코드 조직화: 여러 페이지를 다루는 웹사이트에서도 코드를 깔끔하게 관리 가능.
- URL 관리: 동적으로 URL을 생성하고 관리할 수 있음.
4. 동적인 라우팅
URL에 변수를 넣어서 더 유연하게 사용할 수도 있습니다.
예를 들어, 사용자의 이름을 받아서 맞춤 메시지를 보여주고 싶다면?
@app.route('/hello/<name>') # URL에 <name>이라는 변수를 받음
def hello(name):
return f"Hello, {name}!"
- 사용자가
/hello/John
으로 접속하면: “Hello, John!” /hello/Alice
로 접속하면: “Hello, Alice!”