[파이썬] Flask의 라우팅과 뷰 함수 작성

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 공식 문서를 참고하시기 바랍니다.