Python 첫 번째 Flask 애플리케이션 만들기
Flask는 Python으로 작성된 간단하면서도 유연한 웹 프레임워크입니다. Flask는 초보자부터 전문가까지 쉽게 접근할 수 있는 웹 애플리케이션 개발 환경을 제공합니다. 이 포스팅에서는 Flask를 사용하여 첫 번째 웹 애플리케이션을 만드는 방법을 단계별로 알아보겠습니다.
Flask란 무엇인가요?
Flask는 다음과 같은 특징을 가진 마이크로 프레임워크입니다:
- 간단함과 유연성: Flask는 필요한 기능만 제공하며, 사용자가 필요한 추가 기능을 쉽게 확장할 수 있습니다.
- 경량성: 기본적으로 필요한 최소한의 기능만 포함되어 있습니다.
- Jinja2 템플릿 엔진: HTML 템플릿을 효과적으로 생성할 수 있는 템플릿 엔진을 제공합니다.
- Werkzeug WSGI 도구: Flask의 기반이 되는 도구로, HTTP 요청과 응답을 처리합니다.
Flask 설치하기
시작하기 전에 Python이 설치되어 있는지 확인하세요. Python 3.7 이상 버전을 권장합니다. 다음 명령어로 Flask를 설치할 수 있습니다:
pip install flask
설치가 완료되면 Flask 버전을 확인하여 올바르게 설치되었는지 확인하세요:
python -m flask --version
첫 번째 Flask 애플리케이션 만들기
다음은 첫 번째 Flask 애플리케이션을 만드는 단계입니다.
1. 기본 프로젝트 디렉토리 생성
먼저 프로젝트를 위한 디렉토리를 생성합니다.
mkdir flask_first_app
cd flask_first_app
2. 애플리케이션 파일 생성
app.py
라는 이름의 Python 파일을 생성하고 다음 코드를 작성합니다:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return "Hello, Flask! Welcome to your first app."
if __name__ == '__main__':
app.run(debug=True)
코드 설명
Flask(__name__)
: Flask 애플리케이션 객체를 생성합니다.@app.route('/')
: URL 경로를 지정합니다. 여기서는 루트 경로(/
)를 설정했습니다.app.run(debug=True)
: 애플리케이션을 실행하며, 디버그 모드를 활성화합니다.
3. 애플리케이션 실행
터미널에서 다음 명령어를 입력하여 애플리케이션을 실행합니다:
python app.py
실행 후 브라우저에서 http://127.0.0.1:5000
에 접속하면 "Hello, Flask! Welcome to your first app." 메시지가 나타납니다.
라우팅 및 동적 콘텐츠 추가
Flask는 URL 라우팅을 사용하여 다양한 경로에 대해 서로 다른 응답을 처리할 수 있습니다. 동적 콘텐츠를 반환하는 예제를 살펴보겠습니다.
코드 수정
app.py
에 다음 라우트를 추가합니다:
@app.route('/user/<username>')
def show_user_profile(username):
return f"Hello, {username}! This is your profile."
코드 설명
/<username>
: URL 경로에 동적 변수를 추가합니다.username
: 함수에 전달되어 메시지에 포함됩니다.
실행 결과
애플리케이션을 다시 실행한 후, 브라우저에서 http://127.0.0.1:5000/user/John
에 접속하면 "Hello, John! This is your profile."이라는 메시지가 표시됩니다.
템플릿 사용하기
Jinja2 템플릿 엔진을 사용하여 HTML 파일을 동적으로 생성할 수 있습니다.
1. 템플릿 디렉토리 생성
templates
라는 디렉토리를 생성하고, index.html
파일을 작성합니다:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>First Flask App</title>
</head>
<body>
<h1>Welcome to Flask</h1>
<p>Hello, {{ name }}!</p>
</body>
</html>
2. 템플릿 렌더링
app.py
에 다음 코드를 추가합니다:
from flask import render_template
@app.route('/greet/<name>')
def greet(name):
return render_template('index.html', name=name)
코드 설명
render_template
: 템플릿을 렌더링하여 동적으로 HTML을 생성합니다.{{ name }}
: 템플릿에서 변수name
의 값을 출력합니다.
실행 결과
애플리케이션을 다시 실행하고 http://127.0.0.1:5000/greet/Anna
에 접속하면 "Hello, Anna!"라는 메시지가 포함된 HTML 페이지가 표시됩니다.
결론
이 포스팅에서는 Flask의 기본 설치부터 첫 번째 애플리케이션을 만드는 과정을 살펴보았습니다. 이제 Flask의 기본 개념을 이해하고 간단한 웹 애플리케이션을 만들 수 있습니다. 앞으로 Flask를 사용한 다양한 주제를 다룰 예정이니 많은 관심 부탁드립니다!
'Python > Python Flask' 카테고리의 다른 글
Python Flask 라우팅(Routing)의 개념 (0) | 2025.08.26 |
---|---|
Python Flask란 무엇인가? (0) | 2025.08.24 |