오늘은 python flask에 대해 알아보자! 🤟🤟
❗여기서 잠깐❗ 마이크로 프레임워크란? 마이크로 프레임워크란 핵심 기능만 간결하게 유지하지만, 확장 가능한 것을 목적으로 하는 프레임워크이다.
pip --version
하여 확인!pip install flask
고고씡test.py 라는 폴더를 만들고
예시 소스로
from flask import Flask
app = Flask(__name__)
@app.route('/')
def home():
return 'Hello, World!'
if __name__ == '__main__':
app.run(host="0.0.0.0", port="5000")
실행을 하려고 하자 해당 ip가 존재하지 않는다는 오류가 발생하였다!!
(test) D:\home>set FLASK_APP=test.py
(test) D:\home>set FLASK_ENV=development
(test) D:\home\prisma>flask run * Serving Flask app 'test.py' (lazy loading) * Environment: development * Debug mode: on * Running on http://127.0.0.1:5000 (Press CTRL+C to quit) * Restarting with stat * Debugger is active! * Debugger PIN: 518-994-383
127.0.0.1 - - [29/Mar/2022 15:51:50] "GET / HTTP/1.1" 200 -
127.0.0.1 - - [29/Mar/2022 15:51:50] "GET /favicon.ico HTTP/1.1" 404 - * Detected change in 'D:\\home\\test\\test.py', reloading * Restarting with stat * Debugger is active! * Debugger PIN: 518-994-383
127.0.0.1 - - [29/Mar/2022 15:52:04] "GET / HTTP/1.1" 404 -
127.0.0.1 - - [29/Mar/2022 15:52:11] "GET /test HTTP/1.1" 200 -코드를 입력하세요
항상 고정되어 있는 ip로는 접속이 되었지만 내 ip로는 접속이 불가하여 찾아봤더니 방화벽문제도 있었다,,!
여기서 route란, 외부 웹브라우저에서 웹서버로 접근 시 해당 주소로 입력을 하게 되면 특정 함수가 실행되게 도와주는 기능을 말한다! 헷갈린다면 밑에 예시 소스를 보고 이해해보자!
반복문을 사용하여 get값으로 보내는 숫자만큼 나오는 함수를 만들어보았다.
예시소스를 보듯이, route를 사용하여 해당 ip 또는 127.0.0.1:5000로 이동하고 만든 주소를 입력하면 내가 설정한 함수의 값이 리턴되는 것!
위에 설명을 읽고 나서 예시 소스를 보면 조금 더 이해가 쉬울 것이다!! 아마두~
from flask import Flask, request
import json
app = Flask(__name__)
@app.route('/test/<temp>', methods=['GET'])
def home(temp):
i_temp=int(temp)
str_rtn=''
for idx in range(i_temp):
str_rtn +=f', {idx}'
return str_rtn
if __name__ == '__main__':
app.run(host="0.0.0.0", port="5000")
저 반복 소스 url을 temp로 하고 밑에서 int로 자료형 선언을 해줄 필요 없이 바로 url에서 가능하다는 이야기를 듣고 바로 수정해보았다~
@app.route('/test2/<int:num>', methods=['GET'])
def home2(num):
num_s = ''
for idx2 in range(num):
num_s += f'{idx2}, '
return num_s
https://chunggaeguri.tistory.com/entry/vscode-vscode-%EA%B0%80%EC%83%81%ED%99%98%EA%B2%BD-%EA%B2%BD%EB%A1%9C-%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94-%EB%B2%95
난 요기서 도움을 받을 수 있었다~~
python을 처음 해보다보니 반복문 짜는데도 힘들었다... 그래도 해결할 수 있어 다행이다!! 다음번에는 json 형식으로 메모장에 내용을 입력하여 브라우저에 뜨게 하는 소스를 만들어보자!