Flask는 Python 기반의 가볍고 유연한 웹 프레임워크로, 간단한 웹 애플리케이션을 구축할 때 유용합니다. Flask를 사용하여 웹 애플리케이션을 만들기 위한 기본적인 절차를 소개하겠습니다.
1. Flask 설치
먼저 Flask를 설치해야 합니다. Python 패키지 관리자인 pip
을 사용하여 Flask를 설치할 수 있습니다. 터미널 또는 명령 프롬프트에서 아래 명령어를 실행하세요:
pip install Flask
2. Flask 애플리케이션 생성
Flask 애플리케이션은 매우 간단하게 시작할 수 있습니다. 예시 코드를 통해 기본적인 Flask 애플리케이션을 작성하는 방법을 보여드리겠습니다.
app.py
파일 생성
from flask import Flask
# Flask 인스턴스 생성
app = Flask(__name__)
# 기본 경로에 대한 뷰 함수 정의
@app.route("/")
def hello():
return "Hello, Flask!"
# 애플리케이션 실행
if __name__ == "__main__":
app.run(debug=True)
3. 애플리케이션 실행
위의 app.py
파일을 작성한 후, 터미널에서 해당 파일을 실행합니다.
python app.py
이제 브라우저에서 http://127.0.0.1:5000/
에 접속하면 "Hello, Flask!"라는 메시지가 표시됩니다.
4. 라우팅 추가
Flask에서 라우팅을 통해 다양한 URL을 처리할 수 있습니다. @app.route()
데코레이터를 사용하여 URL 경로와 이를 처리할 함수를 정의할 수 있습니다.
@app.route("/about")
def about():
return "This is the about page."
이 코드를 추가하면 /about
경로로 접속했을 때 해당 메시지가 나타납니다.
5. 템플릿 사용
Flask는 Jinja2 템플릿 엔진을 사용하여 HTML 파일을 렌더링할 수 있습니다. 템플릿을 사용하려면 templates
폴더를 만들고 그 안에 HTML 파일을 넣습니다.
예시: index.html
(templates 폴더 안에 저장)
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Flask App</title>
</head>
<body>
<h1>Welcome to Flask!</h1>
</body>
</html>
app.py
에서 템플릿 렌더링
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def home():
return render_template("index.html")
6. 폼 처리 및 HTTP 메서드
Flask는 GET과 POST와 같은 HTTP 메서드를 지원합니다. 예를 들어, 폼 데이터를 처리하는 간단한 예를 들어보겠습니다.
form.html
파일
<form method="POST" action="/submit">
<input type="text" name="name" placeholder="Enter your name">
<input type="submit" value="Submit">
</form>
app.py
에서 POST 요청 처리
from flask import Flask, render_template, request
app = Flask(__name__)
@app.route("/")
def home():
return render_template("form.html")
@app.route("/submit", methods=["POST"])
def submit():
name = request.form["name"]
return f"Hello, {name}!"
이렇게 하면 사용자가 폼에 이름을 입력하고 제출할 때 해당 이름을 출력하는 웹 애플리케이션이 됩니다.
7. Flask 앱을 배포하는 방법
개발 환경에서 Flask 애플리케이션을 실행하는 것은 매우 쉽지만, 실제로 배포하기 위해서는 gunicorn
과 같은 WSGI 서버를 사용하여 프로덕션 환경에서 구동하는 것이 좋습니다. 이는 나중에 필요하다면 자세히 설명드릴 수 있습니다.
이것이 Flask를 시작하는 기본적인 과정입니다. 더 궁금한 사항이 있거나 심화된 기능을 알고 싶다면 알려주세요!
'Framework > Flask' 카테고리의 다른 글
[ Flask ] add_namespace - Restx로 RestAPI 만들기 (1) | 2024.10.09 |
---|---|
[ Flask ] Flask 설치하기 (1) | 2024.10.05 |