학원/Servlet

Flask ( Jupyter )

주먀 2023. 5. 9. 17:46

from flask import Flask, request, redirect, jsonify
from flask_cors import CORS

# 플라스크 객체 생성
# __name__: 현재 파일의 이름을 뜻함
app = Flask(__name__) # 현재 파일에는 당연히 Flask 가 들어가있음

# 플라스크 객체를 CORS 함수로 감싸주자 -> 동일 출처 규약을 해소
CORS(app)

# =========================================================================== #
# ★요청과 실행 함수 정의★

# Servlet --> @WebServlet("/test")

# (문자열로 url맵핑이 들어가야 함, method가 배열형태로 들어감)
@app.route("/test"  # url - mapping
           , methods=['GET','POST']) # 어떤 요청 방법으로 받을거냐 (지금은 두개 다 있으니까 두개 다 로 받을 수 있음)

def test():
    # 만약, /test 요청이 들어오면, test() 함수를 실행하겠다
    # service 메서드 역할을 한다고 보시면 됨
    print(test)
    
    # 1. 데이터 수집 (쉬움)
    # Get과 post 방식의 수집 방법이 다름
    if request.method == 'GET':
        # get 방식으로 요청을 했다
        # /test?num1=50&num2=500
        # request.getParameter("num1")
        
        #  모든 파라미터 (ImmutableMultiDict -> dict 로 쉽게 변환이 됨)
        print(dict(request.args))
        
    else:
        # post 방식으로 요청을 했다
        # post방식에서는 데이터를 수집할 때, args 가 아니라 forms 를 사용한다
        
       # print("post")
    print(dict(request.forms))
    # 2. 기능 구현
    
    # 3. 응답
    
    # out.print() 와 같은 역할 (응답을 문자열로 직접 작성)
    # JSON 데이터 응답을 자주 함
    return "123" 
    
# 나는 /check 도 받을래
@app.route("/check")
def check():
    print(check)
    
    data={
        "key1":"value1",
        "key2":"value2"
    }
    # JSON 데이터를 응답하고 싶다면, dict나 list 형태로 만들고,
    # jsonify 함수를 사용해서 JSON 데이터로 변환
    return jsonify(data) 
# =========================================================================== #
# 플라스크 서버 구동
if __name__ == "__main__":
    # 현재 실행되는 파일의 __name__ 변수값이 __main__
    # 이 파일이 실행중이니? py 로 쓸 때 필수
    app.run(host= '59.3.58.20' # 누구 컴퓨터 (cmd 창  -> ipconfig -> ipv4 주소)
           , port= 5500)  # 몇 번 포트