라우트와 뷰
HTTP 요청 처리하기
라우트와 뷰은(는) CoddyKit의 무료 Python Academy 강의입니다. 이것은 4개 중 1번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Python Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
Flask란 무엇인가요
Flask는 가벼운 Python 웹 프레임워크입니다. 상용구 코드를 거의 작성하지 않고도 웹 앱과 API를 만들 수 있습니다. pip install flask로 설치합니다.
from flask import Flask
app = Flask(__name__)
print('Flask app created:', app.name)앱 만들기
모든 Flask 앱은 app = Flask(__name__) 객체에서 시작합니다. __name__ 인수는 Flask가 템플릿과 같은 리소스의 위치를 찾는 데 도움을 줍니다.
from flask import Flask
app = Flask(__name__)
if __name__ == '__main__':
# app.run() starts the development server
print('App is ready to run')첫 번째 라우트
route는 URL을 함수인 뷰에 연결합니다. @app.route() 데코레이터가 경로를 연결하고, 함수의 반환 값이 응답 본문이 됩니다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, world!'
print('Route / -> home')여러 라우트
원하는 만큼 라우트를 정의할 수 있습니다. 각 경로에는 고유한 뷰 함수가 지정됩니다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Home page'
@app.route('/about')
def about():
return 'About page'
print('Two routes defined')동적 URL 구성 요소
<variable>을 사용하여 URL의 일부를 추출합니다. Flask는 이를 뷰에 인수로 전달합니다.
from flask import Flask
app = Flask(__name__)
@app.route('/user/<username>')
def show_user(username):
return 'Profile of ' + username
print('URL /user/alice -> show_user')형 변환기
<int:post_id>와 같은 변환기를 추가하면 Flask가 값을 검증하고 올바른 형식으로 변환합니다.
from flask import Flask
app = Flask(__name__)
@app.route('/post/<int:post_id>')
def show_post(post_id):
return 'Post number ' + str(post_id)
print('post_id arrives as an int')HTTP 메서드
기본적으로 라우트는 GET을 처리합니다. methods=['GET', 'POST']를 전달하면 다른 메서드도 허용할 수 있습니다.
from flask import Flask
app = Flask(__name__)
@app.route('/submit', methods=['GET', 'POST'])
def submit():
return 'Handled GET or POST'
print('submit accepts GET and POST')메서드 확인하기
뷰 안에서 request.method를 사용하면 어떤 메서드가 사용되었는지 확인하여 로직을 분기할 수 있습니다.
from flask import Flask, request
app = Flask(__name__)
@app.route('/submit', methods=['GET', 'POST'])
def submit():
if request.method == 'POST':
return 'Form submitted'
return 'Show the form'
print('Branch on request.method')상태 코드 반환하기
(body, status_code) 튜플을 반환하여 HTTP 상태를 설정합니다. 예를 들어 찾을 수 없을 때는 404를 사용합니다.
from flask import Flask
app = Flask(__name__)
@app.route('/missing')
def missing():
return 'Not here', 404
print('Returns body with status 404')URL 구성하기
url_for('view_name')은 뷰 이름으로 URL을 생성합니다. 이렇게 하면 나중에 변경될 수 있는 경로를 코드에 직접 작성하지 않아도 됩니다.
from flask import Flask, url_for
app = Flask(__name__)
@app.route('/about')
def about():
return 'About'
# url_for('about') -> '/about'
print('url_for builds URLs by view name')서버 실행하기
app.run(debug=True)을 호출하여 개발 서버를 시작합니다. 디버그 모드에서는 변경 사항이 있을 때 서버를 다시 불러오고 유용한 오류 페이지를 표시합니다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hi'
if __name__ == '__main__':
app.run(debug=True)간단한 확인
라우팅에 대한 지식을 확인합니다.
복습
Flask 라우트와 뷰를 만들었습니다.
app = Flask(__name__)은 앱을 생성합니다@app.route()는 URL을 뷰 함수에 연결합니다<int:id>는 동적인 URL 구성 요소를 추출하고 변환합니다methods=와request.method는 HTTP 메서드를 처리합니다url_for()는 URL을 구성하고app.run()은 서버를 시작합니다
자주 묻는 질문
“라우트와 뷰” 강의는 무료인가요?
네 — “라우트와 뷰” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Python Academy 강의 전체를 잠금 해제할 수 있습니다. Python Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“라우트와 뷰”에서 뭘 배우나요?
HTTP 요청 처리하기 브라우저에서 직접 실행하는 실습 코드로 Python Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Python Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Python Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 1번째 강의입니다.
“라우트와 뷰” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Python Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Python Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.