Flask?
Flask는 파이썬에서 사용가능한 웹프레임워크 중 하나입니다. 개발사에 따르면 '마이크로'프레임 워크이며 이 마이크로는 기능이 적다는 뜻이 아니라, 최소한의 기능만 포함하여 사용자가 원하는대로 가볍게 만들수 있다는 점이라 합니다.
1. 설치
pip install flask
pip를 통해 간단히 설치 할 수 있습니다.
2. 예제.
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
if __name__ == '__main__':
app.run()
Flask 애플리케이션의 가장 기초적인 형태입니다.
이코드를 실행 할 경우 콘솔창을 통해 아래와 같은 결과를 확인 할 수있습니다.
* Serving Flask app "flask" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
127.0.0.1:5000, loacalhost 5000번 포트를 통해 앱이 실행되었음을 알 수 있습니다.
브라우저로 들어가보면 Hello World! 가 리턴됨을 알수 있습니다.
3. 변형
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/new')
def hello_world2():
return 'Hello New World!'
if __name__ == '__main__':
app.run(host = '0.0.0.0',port = 80, debug = True)
@app.route()의 '/' 뒤에 new를 붙였고 함수의 이름을 약간 바꿔주었습니다.
밑의 app.run에는 port를 줘서 포트 번호를 바꾸었습니다. 또한 host를 열어 외부에서도 접근이 가능하도록 하였습니다.
또한 debug=True를 통해 디버그 모드를 켜주었습니다. 디버그 모드 사용시 코드, 환경에 변화가 있을경우 자동적으로 재시작됩니다.
주소에 new를 추가하면 return이 바뀌는 것을 볼 수 있습니다.
이렇게 route 뒤로 주소를 추가하고 라우팅 해줍니다.
4. URL동적 구성
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/new')
def hello_world2():
return 'Hello New World!'
@app.route('/user/<username>')
def show_user_profile(username):
# show the user profile for that user
return 'User %s' % username
@app.route('/post/<int:post_id>')
def show_post(post_id):
# show the post with the given id, the id is an integer
return 'Post %d' % post_id
if __name__ == '__main__':
app.run(host = '0.0.0.0',port = 80, debug = True)
새로운 루트를 추가합니다. <>안에 변수이름을 정하고 함수로 넘겨줄 경우 함수에 적용할 수 있습니다.
각 변수에 맞게 입력하면 return이 변하는 것을확인 할 수 있습니다. 또한 정해진 형식으로 입력하지 않을 경우 에러가 나는것을 볼 수 있습니다.
이 외의 다양한 변화는
flask-docs-kr.readthedocs.io/ko/latest/quickstart.html
빠르게 시작하기 — Flask 0.11-dev documentation
웹 어플리케이션에 있어서 클라이언트에서 서버로 보내는 데이타를 처리하는 것은 중요한 일이다. Flask에서 이 정보는 글로벌한 request 객체에 의해 제공된다. 여러분이 파이썬 경험이 있다면,
flask-docs-kr.readthedocs.io
공식 문서를 통해 살펴 볼수 있습니다.
'Back > Python' 카테고리의 다른 글
[Python] Flask를 이용한 Tflite Imageclassfier REST API 구성 (0) | 2020.11.02 |
---|---|
[Python][Anaconda3] Anaconda 설치(1) (0) | 2020.10.27 |
[Python] Selenium을 통한 웹 크롤링, 구글 이미지 검색, 다운로드 (0) | 2020.10.21 |
[Python] CSV 파일 읽기, 이미지 정리. (2) | 2020.10.06 |
[Python] dlib 설치하기. (0) | 2020.09.01 |