Flask response 응답 에 대한 구체 적 인 사용
클 라 이언 트 가 http 요청 을 Flask 프로그램 에 보 내 고 Flask 가 보기 함 수 를 호출 하면 응답 하 는 내용 으로 되 돌려 줍 니 다.대부분의 경우 응답 은 Html 페이지 로 클 라 이언 트 를 전송 하 는 간단 한 문자열 입 니 다.
그러나 http 프로 토 콜 에 필요 한 것 은 응답 을 요청 하 는 문자열 만 이 아 닙 니 다.http 응답 에서 중요 한 부분 은 상태 코드 입 니 다.Flask 는 200 으로 설정 되 어 있 으 며 요청 이 성공 적 으로 처리 되 었 음 을 의미 합 니 다.
응답 응답
모듈 형식 응답
보기 함수 가 되 돌아 오 는 응답 에 서로 다른 상태 코드 를 사용 해 야 한다 면 디지털 코드 를 두 번 째 반환 값 으로 응답 텍스트 에 추가 할 수 있 습 니 다.
from flask import Flask
app = Flask(__name__)
#
@app.route("/index")
def index():
#
return "index page", 400
보기 함수 가 돌아 오 는 응답 은 세 번 째 인 자 를 받 아들 일 수 있 고 응답 헤드 도 계속 뒤에 놓 고 돌아 갈 수 있 습 니 다.예 를 들 어:
from flask import Flask
app = Flask(__name__)
#
@app.route("/index")
def index():
header_dict = {
"name": "jack",
"age": 22
}
header_list = [("name", "hui"), ("age", 21)]
#
return "index page", 400, header_dict
# return "index page", 400, header_list
그러나 응답 헤드 정 보 는 하나의 사전 이나 목록 으로 포장 해 야 합 니 다.사전 은 이해 하기 쉽 고 목록 에는 응답 헤드 정 보 를 원 그룹 으로 저장 합 니 다.여기 서 돌아 오 는 것 은 하나의 예 일 뿐 입 니 다.진정 으로 돌아 올 때 응답 헤드 정 보 를 합 리 적 으로 설정 해 야 합 니 다.예 를 들 어
header_dict = {
"Content-Type": " text/html; charset=utf-8", #
"Set-Cookie": "name=hui; Path=/" # cookie
}
return "index page", 200, header_dict
브 라 우 저 개발 자 도구 응답 정보 보기기억 하기:원 그룹 형식 으로 되 돌아 갑 니 다.반환 값 위치 가 복잡 해 서 는 안 됩 니 다.
첫 번 째 대응 응답 체
두 번 째 대응 상태 코드
세 번 째 대응 응답 헤드
make_응답 함수
1 개,2 개 또는 3 개의 값 으로 구 성 된 원 그룹 을 되 돌려 주지 않 으 려 면 Flask 보기 함수 가 Response 대상 을 되 돌려 줄 수도 있 습 니 다.make_response 함 수 는 1 개,2 개 또는 3 개의 인자(보기 함수 의 반환 값 과 같 음)를 받 아들 이 고 Response 대상 을 되 돌려 줍 니 다.어떻게 사용 하 는 지.
from flask import Flask, make_response
app = Flask(__name__)
# mk_response
@app.route("/info")
def info():
resp = make_response("info page")
resp.status = "666 ithui"
resp.headers["name"] = "hui"
resp.headers["age"] = 21
return resp
메모:makeresponse()대상 이 상태 코드 를 설정 할 때 문자열 이 필요 합 니 다.숫자 로 쓰 지 마 십시오.json 형식 데이터 되 돌리 기
import json
from flask import Flask, make_response
app = Flask(__name__)
@app.route("/json")
def resp_json():
data = {
"name": "hui",
"age": 21
}
json_str = json.dumps(data)
headers = {"Content-Type": "application/json"}
return json_str, 200, headers
json 모듈 을 통 해 데이터 json 화 를 할 수 있 지만,일반적으로 json 데 이 터 를 되 돌려 주 려 면 전단 에서 되 돌아 오 는 데이터 형식 을 설정 해 야 합 니 다.Flask 는 기본적으로 text/html 이기 때문에 응답 체 콘 텐 츠 형식 을 따로 설정 해 야 합 니 다.json 형식 데이터 가 웹 개발 에서 자주 사용 되 기 때문에 Flask 에서 jsonify()함수 로 json 데이터 에 대한 응답 을 제공 합 니 다.
구체 적 으로 다음 과 같이 사용한다.
from flask import Flask, jsonify
app = Flask(__name__)
@app.route("/json")
def resp_json():
data = {
"name": "hui",
"age": 21
}
return jsonify(data)
# return jsonify(name="jack", age=20)
jsonify()는 사전 을 받 아들 일 수도 있 고 key-value 형식 으로 json 데 이 터 를 구성 할 수도 있다.이렇게 하면 훨씬 편리 하 다기타 특수 응답
redirect()방향 바 꾸 기
방향 을 바 꾸 는 특수 응답 형식 이 있 습 니 다.이 응답 형식 은 페이지 문서 가 없고 브 라 우 저 에 새 페이지 를 불 러 오 는 데 사용 할 새 주소 만 알려 줍 니 다.
from flask import Flask, redirect
app = Flask(__name__)
#
@app.route('/baidu')
def red_baidu():
resp = make_response()
resp.status = "302"
resp.headers['Location'] = "http://www.baidu.com"
return resp
# redirect
@app.route("/csdn")
def red_csdn():
csdn_url = "https://blog.csdn.net/qq_43629857"
return redirect(csdn_url)
방향 을 바 꾸 는 것 은 302 상태 코드 를 자주 사용 하여 가리 키 는 주 소 는 Location 의 첫 번 째 부분 에서 제공 합 니 다.자주 사용 하기 때문에 Flask 는 이러한 응답 을 생 성 하 는 데 보조 함수 redirect()를 제공 합 니 다.abort()인 터 럽 트
abort()상태 코드 인 자 를 받 습 니 다.
from flask import Flask, request, abort
app = Flask(__name__)
# abort
# http://127.0.0.1:5000/login?name=hui&pwd=123
@app.route("/login", methods=['GET'])
def login():
name = request.args.get("name")
pwd = request.args.get("pwd")
if name != "hui" or pwd != "123":
abort(404)
return " "
일반적으로 이 abort()함 수 는 오류 정보 처리 장식 기 app.errorhandler()와 함께 사용 합 니 다.다음 과 같 습 니 다.
# 404
@app.errorhandler(404)
def handle_404_err(err):
return f"404 {err}"
# 500
@app.errorhandler(500)
def handle_500_err(err):
return f"500 {err}"
# abort
# http://127.0.0.1:5000/login?name=hui&pwd=123
@app.route("/login", methods=['GET'])
def login():
name = request.args.get("name")
pwd = request.args.get("pwd")
if name != "hui" or pwd != "123":
abort(404)
return " "
소스 코드원본 코드 가 올 라 왔 습 니 다Gitee HuiDBK/Flask Basic-코드 클 라 우 드-오픈 소스 중국(gitee.com).방문 을 환영 합 니 다.
Flask response 응답 에 대한 구체 적 인 사용 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 Flask response 응답 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 조회 하 시기 바 랍 니 다.앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
GCE로 Flask를 이동!GCE에서 우선 Flask를 사용하여 웹 페이지를 게시하는 단계입니다. 우선이므로, 움직이면 좋다고 하는 느낌입니다. 우선 공개하므로 최소 사양으로 갑니다. 다음 구성으로 인스턴스를 만듭니다. 이름 gce-flask...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.