Python/Flask Server

Flask 라이브러리 기본 사용법 [ @app.route / request.method / return / ]

leehii 2022. 7. 16. 16:35

from flask import Flask     

from flask import request, redirect , render_template

 

 

app = Flask (__name__)

 

@app.route("/urlmapping", method = ['get', 'post'])

def function_name() :

 

    if request.method == 'post'

    #.......(실행로직).............

 

return render_template('파일명.html')

 

    else:

    #.......(실행로직).............

 

return render_template('파일명.html')

 

if __name__ == " __main__ " :

    app.run ( host = "ip주소", port = "port번호" )

 

 

 

 

코드 내용
from flask import Flask     
from flask import request, redirect
 : 플라스크 서버 구동을 위한 객체를 위함
 : servlet처럼 값을 받아오고 전달하기 위함
app = Flask (__name__)   플라스크 사용을 위한 객체 선언
@app.route("/urlmapping", method = ['get', 'post']) /urlmapping :
 servlet처럼 프로토콜 "//ip : port번호 /" 뒤에 오는부분
받아올 주소 혹은 받아올 파일을 의미

 
method = ['get', 'post']
: 전송 방법을 정해주는 부분
def 함수이름() : 플라스크 서버 구동시 실행될 함수 이름
if request.method == '받아올 방식get이나 post'
.......(실행로직).............
return 리턴형태


else:
.......(실행로직).............
return 리턴형태
request.form           #post 데이터 받아오기
request.args             #get 데이터 받아오기
둘다 [(key, value)] 형태로 리턴


return redirect ( " url & name = data " )
return value
등의 리턴형태가 있음
if __name__ == " __main__ " :
app.run ( host = "ip주소", port = "port번호" )
 py 파일에서 main 서버를 구동시키는 부분
run 안의 매개변수가 주소값을 결정함

 

 

-request
dict(request.form)을 이용해딕셔너리 형태로 바꿀수 있음 ( 데이터 값은 String 형태)

딕셔너리처럼 request.form[key값]으로 value값에 접근도 가능함

 

-return형태

 

return render_template('파일명.html') : 특정 파일

return redirect ( " url & name = data " ) : request.sendRedirect()같은것임 
jsp, servlet 파일에서 request.getParameter()로 받아올 수 있음

return value :
값을 바로 리턴해줌 (String형태로 html코드 사용가능)

 

-run()

안에 값을 담아주지 않으면 기본 서버 호스팅 127.0.0.1 IP에 포트번호 5000번이 실행됨 /  혹은 localhost로 접속됨

라즈베리파이와 같은 미니 서버, 혹은 외부에서도 접근할 수 있게 하려면 0.0.0.0으로 지정해야 함