Flask 프레임 워 크 응답, 스케줄 링 방법 및 청사진 작업 실례 분석
호응
현재 대부분의 인터넷 응용 프로그램 에서 사용 하 는 데이터 전송 형식 은 JSON 입 니 다. 사용자 가 URL 에 접근 하면 저 희 는 어떻게 Flask 를 통 해 JSON 의 응답 을 되 돌려 줍 니까?
일반적인 방법:
@app.route("/")
def showInfo():
return jsonify({"name":" ","age":18})
우리 의 응용 에 대량의 URL 이 있 을 때, 우 리 는 매번 jsonify 로 전환 해 야 하 며, 번 거 로 움 을 느끼 지 않 을 수 없다.이때 공공 방법 을 정의 할 수 있 고 전환 을 모두 이 방법 에서 이 루 었 으 면 좋 겠 다 는 말 이 나온다.이것 도 실행 가능 한 방법 이 라 고 할 수 있 습 니 다. 그리고 Flask 가 자동 으로 우 리 를 도와 이런 일 을 할 수 있 도록 하 는 방법 도 있 습 니 다.
from flask import Response,jsonify
class JSONResponse(Response):
@classmethod
def force_type(cls,response,environ=None):
if isinstance(response,dict):
response = jsonify(response)
return super(JSONResponse,cls).force_type(response,environ)
app.response_class = JSONResponse
@app.route("/")
def showInfo():
return {"name":" ","age":18}
스케줄 링 방법
flask.views.MethodView
각 HTTP 방법 에 대해 서로 다른 함수 (대응 하 는 방법의 소문 자 에 비 치 는 동명 이인 방법) 를 실행 하 는데 이것 은 RESTful API 에 특히 유용 하 다.
from flask.views import MethodView
class UserAPI(MethodView):
def get(self):
return jsonify({"method":"get"})
def post(self):
return jsonify({"method":"post"})
app.add_url_rule("/user",view_func=UserAPI.as_view("userview"))
사용자 가 GET 또는 POST 요청 을 사용 할 때http://localhost:5000/userUserAPI 에 해당 하 는 get, post 함 수 를 실행 합 니 다.
청사진
청사진 은 응용 모듈 화 를 실현 하고 청사진 을 사용 하여 응용 차원 을 뚜렷 하 게 하 며 개발 자 들 이 프로젝트 를 쉽게 개발 하고 유지 할 수 있 습 니 다.청사진 은 보통 같은 URL 접두사 에 작용 한다.예 를 들 어 / user / item, / user / info 와 같은 주 소 는 모두 / user 로 시작 하면 그들 은 하나의 모듈 에 넣 을 수 있다.다음 과 같은 예 를 보십시오.
### xxx.py
from flask import Blueprint
user = Blueprint("user",__name__)
@user.route("/info")
def info():
return "User Info"
####### #######
from xxx import user
app.register_blueprint(user,url_prefix="/user")
사용자 요청http://localhost:5000/user/info"User Info" 정 보 를 되 돌려 줍 니 다. Django 의 include 와 유사 합 니 다.
본 고 에서 말 한 것 이 Flask 프레임 워 크 를 바탕 으로 하 는 Python 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.