最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Flask框架響應(yīng)、調(diào)度方法和藍(lán)圖操作實(shí)例分析

 更新時(shí)間:2018年07月24日 09:09:25   作者:噴跑的豆子  
這篇文章主要介紹了Flask框架響應(yīng)、調(diào)度方法和藍(lán)圖操作,結(jié)合實(shí)例形式分析了Flask框架中響應(yīng)、調(diào)度方法和藍(lán)圖相關(guān)功能、使用方法及操作注意事項(xiàng),需要的朋友可以參考下

本文實(shí)例講述了Flask框架響應(yīng)、調(diào)度方法和藍(lán)圖操作。分享給大家供大家參考,具體如下:

響應(yīng)

像現(xiàn)在大部分的互聯(lián)網(wǎng)應(yīng)用用的數(shù)據(jù)傳輸格式都是JSON,當(dāng)用戶訪問(wèn)一個(gè)URL,我們?nèi)绾瓮ㄟ^(guò)Flask返回JSON的響應(yīng):

普通做法:

@app.route("/")
def showInfo():
  return jsonify({"name":"老王","age":18})

當(dāng)我們的應(yīng)用有大量的URL時(shí),我們需要每次都用jsonify轉(zhuǎn)換一下,不免覺得繁瑣。此時(shí)會(huì)有人說(shuō),可以定義一個(gè)公共方法,將轉(zhuǎn)換都在這個(gè)方法中實(shí)現(xiàn)就好了。這也不失為一個(gè)可行的方法,還有一種方法讓Flask自動(dòng)幫我們做這些工作:

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}

調(diào)度方法

flask.views.MethodView對(duì)每個(gè)HTTP方法執(zhí)行不同的函數(shù)(映射到對(duì)應(yīng)方法的小寫的同名方法上),這對(duì)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"))

當(dāng)用戶使用GET或POST請(qǐng)求http://localhost:5000/user時(shí),會(huì)執(zhí)行UserAPI中相應(yīng)get,post函數(shù)。

藍(lán)圖

藍(lán)圖實(shí)現(xiàn)了應(yīng)用的模塊化,使用藍(lán)圖讓應(yīng)用層次清晰,開發(fā)者可以更容易的開發(fā)和維護(hù)項(xiàng)目。藍(lán)圖通常作用于相同的URL前綴。比如/user/item、/user/info這樣的地址,都以/user開頭,那么他們就可以放在一個(gè)模塊中??慈缦吕?

### 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")

當(dāng)用戶請(qǐng)求http://localhost:5000/user/info時(shí),就會(huì)返回”User Info”信息,效果與Django中的include類似。

希望本文所述對(duì)大家基于Flask框架的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論

台安县| 土默特右旗| 景德镇市| 平泉县| 甘肃省| 海门市| 怀仁县| 屏东县| 陆良县| 中山市| 陆丰市| 德江县| 嘉定区| 洪江市| 广饶县| 读书| 高安市| 深水埗区| 镇江市| 广德县| 聂荣县| 长顺县| 中西区| 临猗县| 巴林左旗| 山东省| 宁明县| 金平| 呼图壁县| 和政县| 古田县| 铁岭市| 高邮市| 文水县| 凯里市| 武安市| 中宁县| 平昌县| 双城市| 谢通门县| 中山市|