TIL) Flask란, Flask 사용법
1. Flask란
파이썬 웹 프레임워크.
파이썬을 이용하여 웹 어플리케이션을 만들 때 사용하는 프레임 워크이다.
Flask외에도 장고, 토네이도 등이 있다.
Flask는 심플하고 가볍기에 많은 사람들이 사용 중이다. 10줄로 안되는 코드로 웹 서버를 구동할 수 있다.
2. Flask가 필요한 이유
업무가 다양해지며 웹에 표현해야하는 구조도 복잡해졌다. 이를 유지보수하는 것도 어려워졌다.
프레임워크는 이를 해결하기 위해 기본 설계를 바탕으로 기능별로 구분하여 표현하도록 공통의 규칙을 정한 것이다. 이를 활용하여 사람들은 체계적으로 코드관리를 하고 개발 생산성을 높일 수 있게 되었다.
3. Flask 사용법
a. 기본 사용법
1) Flask 모듈 임포트 (보통 다음과 같이 임포트)
from flask import Flask
2) Flask 객체를 app에 할당
app = Flask(__name__)
3) app 객체를 이용해 라우팅 경로 설정
4) 라우팅 경로로 요청 올 때 실행할 함수 작성
@app.route('/')
def hello_world():
return "hello, world"
5) 메인 모듈로 실행될 때 플라스크 서버 구동
host_addr = '0.0.0.0'
port_num = '8080'
if __name__ == '__main__':
app.run(host=host_addr, port=port_num)
b. 심화사용법
1) return 값 변경
특정 URL에 JSON 형식으로 데이터 반환하기
@app.route('/json_test')
def hello_json():
data = {'name' : 'Aaron', 'family' : 'Byun'}
return jsonfy(data)
if __name__ == '__main__'
app.run(host='0.0.0.0', port='8080')
2) POST/GET method 활용
@app.route('/success/<name>')
#name으로 받는 문자열 값이 %s에 들어감
def success(name):
return 'welcome %s' %name
@app.route('/login', methods = ['POST', 'GET'])
def login():
if request.method == 'POST':
user = request.form['myName']
return redirect(url_for('success', name=user))
else:
user = request.args.get('myName')
return redirect(url_for('success', name=user))
if __name__ == '__main__':
app.run(host=host_addr, port=port_num)