Flask – HTTP 메서드
HTTP 프로토콜은 월드 와이드 웹에서 데이터 통신의 기초입니다. 지정된 URL에서 데이터를 검색하는 다른 방법이이 프로토콜에 정의되어 있습니다.
다음 표는 다양한 http 메소드를 요약 한 것입니다.
Sr. 아니. | 방법 및 설명 |
---|---|
1 | GET 암호화되지 않은 형식의 데이터를 서버에 보냅니다. 가장 일반적인 방법. |
2 | HEAD GET과 동일하지만 응답 본문이 없음 |
삼 | POST HTML 양식 데이터를 서버로 보내는 데 사용됩니다. POST 방식으로 수신 된 데이터는 서버에서 캐시되지 않습니다. |
4 | PUT 대상 리소스의 모든 현재 표현을 업로드 된 콘텐츠로 바꿉니다. |
5 | DELETE URL이 제공하는 대상 자원의 현재 표시를 모두 제거합니다. |
기본적으로 Flask 경로는 GET요청. 그러나이 기본 설정은 메소드 인수를 제공하여 변경할 수 있습니다.route() 데코레이터.
사용을 증명하기 위해 POST URL 라우팅의 메서드를 사용하려면 먼저 HTML 양식을 만들고 POST 양식 데이터를 URL로 보내는 방법.
다음 스크립트를 login.html로 저장하십시오.
<html>
<body>
<form action = "http://localhost:5000/login" method = "post">
<p>Enter Name:</p>
<p><input type = "text" name = "nm" /></p>
<p><input type = "submit" value = "submit" /></p>
</form>
</body>
</html>
이제 Python 셸에 다음 스크립트를 입력합니다.
from flask import Flask, redirect, url_for, request
app = Flask(__name__)
@app.route('/success/<name>')
def success(name):
return 'welcome %s' % name
@app.route('/login',methods = ['POST', 'GET'])
def login():
if request.method == 'POST':
user = request.form['nm']
return redirect(url_for('success',name = user))
else:
user = request.args.get('nm')
return redirect(url_for('success',name = user))
if __name__ == '__main__':
app.run(debug = True)
개발 서버가 실행되기 시작하면 login.html 브라우저에서 텍스트 필드에 이름을 입력하고 Submit.
양식 데이터는 양식 태그의 조치 절에있는 URL에 게시됩니다.
http://localhost/login 에 매핑됩니다 login()함수. 서버가 데이터를 수신했기 때문에POST 방법, 양식 데이터에서 얻은 'nm'매개 변수의 값은-
user = request.form['nm']
전달됩니다 ‘/success’변수 부분으로서의 URL. 브라우저는welcome 창에 메시지.
메소드 매개 변수를 다음으로 변경하십시오. ‘GET’ 에 login.html브라우저에서 다시 엽니 다. 서버에서받은 데이터는GET방법. 이제 'nm'매개 변수의 값은-
User = request.args.get(‘nm’)
여기, args양식 매개 변수 쌍 및 해당 값의 목록을 포함하는 사전 객체입니다. 'nm'매개 변수에 해당하는 값은 이전과 같이 '/ success'URL로 전달됩니다.