Flask는 파이썬으로 작성된 경량 웹 응용 프레임 워크입니다. Flask는 Jinja2 템플릿 엔진을 사용하여 웹 페이지를 렌더링하고, Werkzeug를 통해 URL 라우팅 및 HTTP 요청 처리를 지원합니다. 이 기사에서는 Flask의 기본 원리와 동작 방식에 대해 설명하겠습니다.
웹 애플리케이션 라우팅
Flask 애플리케이션은 URL 규칙과 뷰 함수 간의 매핑을 통해 라우팅을 처리합니다. 예를 들어, 사용자가 /home
경로를 요청하면, 해당 요청은 특정한 뷰 함수와 연결되어 이에 따라 응답이 반환됩니다.
from flask import Flask
app = Flask(__name__)
@app.route('/home')
def home():
return 'Welcome to the home page'
if __name__ == '__main__':
app.run()
위의 예시에서 /home
경로로 들어오는 요청은 home()
함수와 연결되어, 'Welcome to the home page'
를 반환합니다.
HTTP 요청 처리
Flask는 다양한 HTTP 메서드(GET, POST, PUT, DELETE 등)를 지원하여 요청을 처리합니다. 또한, 요청의 데이터를 처리하고 응답을 생성하는 데 사용되는 여러 도구를 제공합니다.
from flask import request
@app.route('/login', methods=['POST', 'GET'])
def login():
if request.method == 'POST':
# POST 요청을 처리하는 코드
else:
# GET 요청을 처리하는 코드
위의 코드에서는 /login
경로로의 POST 및 GET 요청을 처리하는 방법이 보여집니다.
템플릿 엔진을 통한 웹 페이지 렌더링
Flask는 Jinja2 템플릿 엔진을 사용하여 동적으로 웹 페이지를 생성합니다. 이를 통해 HTML 템플릿과 데이터를 결합하여 사용자에게 동적인 콘텐츠를 제공할 수 있습니다.
from flask import render_template
@app.route('/user/<name>')
def user(name):
return render_template('user.html', name=name)
위의 코드에서는 user.html
템플릿에 name
변수를 전달하여 웹 페이지를 렌더링합니다.
결론
Flask는 간단하고 직관적인 문법을 통해 웹 응용 프로그램을 빠르게 개발할 수 있는 매력적인 프레임워크입니다. Flask의 기본 동작 방식을 이해하고 활용함으로써 더욱 유연하고 강력한 웹 애플리케이션을 구축할 수 있습니다.
더 많은 정보를 확인하려면 Flask 공식 문서를 참조하세요.