👩💻 도비는 공부중/💼 하계연구연수생(2023)
[Python] Flask 기초
오모짱_
2023. 7. 11. 11:58
웹 어플리케이션 개발을 위한 파이썬 프레임워크, 최대한 가볍게 개발하기 위해 Flask 사용^^
(파이썬 웹 개발 시 많이 쓰이는 프레임워크: Django)
Micro Web Framework: Flask
- 최소한의 구성 요소, 요구사항 제공
- 쉽고 필요에 따라 유연하게 사용 가능
- 쉽게 확장할 수 있도록 설계되어 있어 필요한 도구와 라이브러리 자유럽게 선택 적용 가능
Start Flask: Hello, World!
pip install Flask
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, World!'
if __name__ == '__main__':
app.run(debug=True)
run(debug=True) 명시하면 해당 파일의 코드를 수정할 때마다 Flask가 변경된 것 인식 -> 다시 시작
Route (URL ~ 웹페이지 연결)
웹 브라우저에서 url 방문하면 서버에 요청을 보내고, 서버는 그 요청을 처리해 브라우저에서 응답을 반환한다.
반환된 결과를 html 문서로 보내주면 웹 페이지를 브라우저가 띄워준다.
라우팅
:Flask에서 url 방문시 준비된 함수가 트리거되도록 바인딩하기 위해 route() 사용
@app.route('/path') 반드시 '/' 로 시작해야 한다
동적 URL
Flask는 바인딩 할 url을 지정할 때 <variable_name>을 명시하는 것이 가능
해당 변수는 함수에 인수 형태로 전달된다.
from flask import Flask
app = Flask(__name__)
@app.route('/')
@app.route('/home')
def home():
return 'Hello, World!'
@app.route('/user/<user_name>/<int:user_id>')
def user(user_name, user_id):
return f'Hello, {user_name}({user_id})!'
if __name__ == '__main__':
app.run(debug=True)
html 렌더링
@app.route() 아래 적어주는 함수에서 return 하는 응답은 일반 텍스트, 데이터, 등등 다양한 형식이 될 수 있는데
일반적으로 웹 페이지에서 렌더링 할 html 직접 반환
from flask import Flask
app = Flask(__name__)
@app.route('/')
@app.route('/home')
def home():
return
'''
<h1> Title </h1>
<p> content </p>
<a href="https://flask.palletsprojects.com">Flask hompage</a>
'''
@app.route('/user/<user_name>/<int:user_id>')
def user(user_name, user_id):
return f'Hello, {user_name}({user_id})!'
if __name__ == '__main__':
app.run(debug=True)
더보기
POSTMAN 사용한 로컬 API 테스트