반응형
Notice
Recent Posts
Recent Comments
Link
Learner's Log님의 블로그
1. 플라스크(Flask) 개요 및 기본 작성법 본문
Flask란?
파이썬 기반의 마이크로 웹 프레임워크로, 가볍고 확장성이 뛰어나 빠른 웹 개발이 가능하다.
Django처럼 모든 기능이 포함된 것이 아니라 필요한 기능을 확장하여 사용할 수 있는 점이 특징이다.
플라스크 기본 작성법
플라스크를 설치하고 간단한 웹 애플리케이션을 만들어보자!
1️⃣ 플라스크 설치
먼저, 플라스크를 설치해야 한다.
pip install flask
2️⃣ 플라스크 기본 코드
간단한 "Hello, Flask!" 페이지 만들기
from flask import Flask
app = Flask(__name__) # 플라스크 애플리케이션 객체 생성
@app.route("/") # 루트 경로("/")에 대한 요청을 처리하는 함수
def home():
return "Hello, Flask!"
if __name__ == "__main__":
app.run(debug=True) # 디버그 모드 실행
코드 설명
- Flask(__name__) : 현재 실행 중인 모듈을 기반으로 플라스크 애플리케이션 객체 생성
- @app.route("/") : 특정 URL(여기서는 /)이 요청될 때 실행할 함수 정의
- app.run(debug=True) : 디버그 모드를 활성화하여 실행
플라스크 실행하기
- 위 코드를 app.py로 저장
- 터미널에서 실행
python app.py
플라스크에서 HTML 파일 사용하기
보통 웹페이지는 HTML 파일을 사용해야 한다. 이를 위해 템플릿(Templates) 폴더를 만들고 render_template()을 활용한다.
1️⃣ 프로젝트 구조
/flask_app
│── app.py
└── templates
└── index.html
2️⃣ index.html 파일 작성
templates/index.html
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="UTF-8">
<title>Flask 홈페이지</title>
</head>
<body>
<h1>안녕하세요! 플라스크 웹 페이지입니다.</h1>
</body>
</html>
Flask에서 HTML 파일 불러오기
📌 app.py 수정
from flask import Flask, render_template
app = Flask(__name__)
@app.route("/")
def home():
return render_template("index.html") # HTML 파일 렌더링
if __name__ == "__main__":
app.run(debug=True)
이제 다시 실행하면 http://127.0.0.1:5000/에서 HTML 페이지가 보일 것이다.
🛠 라우트, 동적 데이터 전달
Flask는 단순한 페이지뿐만 아니라 동적 데이터 처리도 가능하다.
URL 매개변수 받기
@app.route("/user/<name>")
def user(name):
return f"안녕하세요, {name}님!"
- /user/IT → "안녕하세요, IT님!"
HTML에 데이터 전달
app.py
@app.route("/hello/<name>")
def hello(name):
return render_template("hello.html", username=name)
templates/hello.html
<h1>안녕하세요, {{ username }}님!</h1>
- /hello/블로그 → "안녕하세요, 블로그!"
마무리
플라스크는 가볍고 배우기 쉽지만 강력한 기능을 제공하는 웹 프레임워크다.
오늘 배운 내용으로간단한 웹 페이지를 만들고, 추가로 데이터베이스 연결, REST API 개발 등도 시도해보면 좋겠다.
반응형