Flask는 파이썬 웹 프레임워크로, 손쉽게 웹 애플리케이션을 개발할 수 있도록 도와줍니다. Flask에서는 URL을 라우팅하여 뷰 함수와 연결하여 웹 페이지를 처리합니다. 이번 포스트에서는 Flask에서의 라우팅과 뷰 함수 작성 방법에 대해 알아보겠습니다.
라우팅
라우팅은 Flask에서 URL과 뷰 함수를 연결하는 작업입니다. Flask에서는 @app.route
데코레이터를 사용하여 라우팅을 정의합니다. 아래의 예제를 통해 라우팅을 어떻게 작성하는지 알아보겠습니다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
@app.route('/about')
def about():
return 'About page'
# RESTful한 URL 라우팅
@app.route('/users/<int:user_id>', methods=['GET'])
def get_user(user_id):
# 사용자 ID를 기반으로 사용자 정보를 조회하는 로직
return f'User ID: {user_id}'
if __name__ == '__main__':
app.run()
위 예제에서는 /
, /about
, /users/<user_id>
세 가지 URL에 대해 각각 뷰 함수를 연결하고 있습니다. 첫 번째 index
함수는 /
경로에 요청이 오면 실행되는 함수입니다. 두 번째 about
함수는 /about
경로에서 실행되는 함수입니다. 마지막 get_user
함수는 /users/<user_id>
경로에서 실행되는 함수로, <user_id>
는 URL의 일부분을 동적으로 받아들이기 위한 변수입니다.
뷰 함수
뷰 함수는 라우팅된 URL에 대해 실행되는 함수입니다. Flask에서는 뷰 함수의 결과를 클라이언트로 반환하여 웹 페이지를 보여줍니다. 뷰 함수는 Flask에서 route
데코레이터 아래에 작성합니다. 아래 예제에서는 뷰 함수의 예시를 확인할 수 있습니다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
return 'Hello, World!'
@app.route('/about')
def about():
return 'About page'
if __name__ == '__main__':
app.run()
위 예제에서 index
함수와 about
함수는 간단한 문자열을 반환하도록 작성되었습니다. 이 반환된 문자열은 해당 URL 요청에 대한 응답으로 클라이언트에게 보여지게 됩니다.
요약
Flask에서 라우팅과 뷰 함수를 작성함으로써 웹 페이지를 개발할 수 있습니다. @app.route
데코레이터를 사용하여 URL과 뷰 함수를 연결하고, 뷰 함수 내에서 클라이언트에게 반환할 데이터를 작성합니다. Flask를 사용하여 빠르고 간편하게 웹 애플리케이션을 개발해보세요!
더 자세한 내용은 Flask 공식 문서를 참고하시기 바랍니다.