Python/Python Flask

Python 첫 번째 Flask 애플리케이션 만들기

임베디드 친구 2025. 8. 25. 20:04
728x90
반응형

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를 사용한 다양한 주제를 다룰 예정이니 많은 관심 부탁드립니다!

728x90
반응형

'Python > Python Flask' 카테고리의 다른 글

Python Flask 라우팅(Routing)의 개념  (0) 2025.08.26
Python Flask란 무엇인가?  (0) 2025.08.24