프로그래밍

Python과 Flask를 사용한 간단한 웹 애플리케이션 구축

MoneyCanon 2024. 6. 26. 02:08

Python과 Flask를 사용하여 간단한 웹 애플리케이션을 구축하는 방법에 대해 이야기해보겠습니다. Flask는 Python을 사용하여 웹 애플리케이션을 쉽게 개발할 수 있게 해주는 경량 프레임워크입니다. 이 글에서는 Flask를 설치하고, 간단한 웹 애플리케이션을 만드는 과정을 단계별로 설명하겠습니다.

Flask란?

Flask는 Python으로 작성된 마이크로 웹 프레임워크로, 웹 애플리케이션과 API를 빠르고 간단하게 개발할 수 있습니다. Flask는 경량이지만 확장성이 뛰어나며, 필요한 기능을 플러그인 형태로 추가할 수 있습니다.

사전 준비

1. Python 설치

먼저, Python이 설치되어 있어야 합니다. Python이 설치되지 않았다면 Python 공식 사이트에서 설치하세요.

2. 가상 환경 설정

프로젝트 디렉토리를 생성하고 해당 디렉토리로 이동한 다음, 가상 환경을 설정합니다. 가상 환경은 프로젝트별로 독립된 패키지 환경을 제공합니다.

mkdir my-flask-app
cd my-flask-app
python -m venv venv

가상 환경을 활성화합니다.

  • Windows: venv\Scripts\activate
  • MacOS/Linux: source venv/bin/activate

3. Flask 설치

가상 환경이 활성화된 상태에서 Flask를 설치합니다.

pip install Flask

Flask 애플리케이션 만들기

1. 기본 애플리케이션 설정

프로젝트 루트 디렉토리에 app.py 파일을 생성하고 다음 내용을 추가합니다.

from flask import Flask

app = Flask(__name__)

@app.route('/')
def home():
    return "Hello, Flask!"

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

이 코드는 Flask 애플리케이션을 설정하고, 루트 경로(/)에 대한 요청을 처리하여 "Hello, Flask!" 메시지를 반환합니다.

2. 애플리케이션 실행

터미널에서 다음 명령어를 입력하여 Flask 애플리케이션을 실행합니다.

python app.py

브라우저를 열고 http://localhost:5000에 접속하면 "Hello, Flask!" 메시지를 확인할 수 있습니다.

추가 기능 구현

1. 동적 라우팅

Flask에서는 동적 라우팅을 통해 URL 경로에 변수를 추가할 수 있습니다. 예를 들어, 사용자의 이름을 URL로 전달받아 환영 메시지를 출력할 수 있습니다.

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

2. 템플릿 렌더링

Flask는 Jinja2 템플릿 엔진을 사용하여 HTML 파일을 렌더링할 수 있습니다. 프로젝트 디렉토리에 templates 폴더를 생성하고, 그 안에 index.html 파일을 생성합니다.

index.html 파일의 내용은 다음과 같습니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Flask App</title>
</head>
<body>
    <h1>{{ message }}</h1>
</body>
</html>

app.py 파일을 수정하여 템플릿을 렌더링합니다.

from flask import render_template

@app.route('/')
def home():
    return render_template('index.html', message="Hello, Flask with Templates!")​

3. 폼 처리

Flask에서는 HTML 폼을 처리할 수 있습니다. templates 폴더에 form.html 파일을 생성하고 다음 내용을 추가합니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Flask Form</title>
</head>
<body>
    <form action="/submit" method="post">
        <input type="text" name="name" placeholder="Enter your name">
        <input type="submit" value="Submit">
    </form>
</body>
</html>

app.py 파일을 수정하여 폼 데이터를 처리합니다.

from flask import request

@app.route('/form')
def form():
    return render_template('form.html')

@app.route('/submit', methods=['POST'])
def submit():
    name = request.form['name']
    return f"Hello, {name}!"

 

Python과 Flask를 사용하여 간단한 웹 애플리케이션을 구축하는 방법을 알아보았습니다. 기본 애플리케이션 설정부터 동적 라우팅, 템플릿 렌더링, 폼 처리까지 다양한 기능을 구현할 수 있습니다. Flask는 경량이지만 강력한 웹 프레임워크로, 다양한 웹 애플리케이션 개발에 적합합니다.