国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Flask Response

wapeyang / 885人閱讀

摘要:只知道對字符串和二進(jìn)制類型進(jìn)行處理響應(yīng),其他位置類型比如字典都通過函數(shù)進(jìn)行處理,我們定義的如果返回的是類型那么用的函數(shù)轉(zhuǎn)換成內(nèi)容類型。

flask jsonify()函數(shù)返回json響應(yīng)

app = Flask(__name__)
@app.route("/json/")
def index(name):
    return jsonify({"Hello":name})

這時候content-Type=application/json

如果用python的json.dumps()函數(shù)

@app.route("/dumps/")
def py(name):
    return json.dumps({"Hello":name})

這時候content-Type=text/html; charset=utf-8。如果選擇響應(yīng)的格式的話,return json.dumps({"Hello":name}),{"Content-Type":"application/json"} 那么content-Type=application/json就會響應(yīng)json格式

flask Response響應(yīng)類實際上來自Werzeug中的Response類,它繼承的是python的BaseResponse類

我們可以自定義響應(yīng)

>>> from flask import Flask
>>> app = Flask(__name__)
>>> app.make_response(("

Hello word

",201))

make_response接收一個參數(shù),返回信息和狀態(tài)碼都在一個元組里

Response類定義:

class Response:
    charset = "utf-8"
    default_status = 200
    default_mimetype = "text/html"

    def __init__(self, response=None, status=None, headers=None,
                 mimetype=None, content_type=None, direct_passthrough=False):
        pass

    @classmethod
    def force_type(cls, response, environ=None):
        pass

我們可以自定義Response的子類,對他的行為做出一些改變,Flask類的response_class屬性可以改變響應(yīng)類。

from falsk import FLask, Response

calss MyResponse(Response):
    default_mimetype = "application/xml"  #修改內(nèi)容類型
  
class Myfalsk(Flask):
    response_class = Myresponse
    
@app.route("/")
def index():
    return """
    
        Yang
    
    """
如果想要其他的內(nèi)容類型,可以設(shè)置Content-Type的值:
return "{"name":"yang"}",{"Content-Type"="application/json"}

重寫Response類來過濾Json格式的內(nèi)容格式:

class Myresponse(Response):
    @classmethod
    def force_type(cls, response, environ=None):
        if isinstance(response, dict):
            response = jsonify(response)
        return super().force(response, environ)

重寫forec_type來自定義對未知返回對象的處理。falsk只知道對字符串和二進(jìn)制類型進(jìn)行處理響應(yīng),其他位置類型比如字典都通過forec_type函數(shù)進(jìn)行處理,我們定義的如果返回的是dict類型那么用flask的jsonify函數(shù)轉(zhuǎn)換成json內(nèi)容類型。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/43663.html

相關(guān)文章

  • 如何自定義Flask中的響應(yīng)類(譯文)

    摘要:在使用自定義響應(yīng)類的應(yīng)用中,和無法知道自定義類的細(xì)節(jié),所以它們使用標(biāo)準(zhǔn)響應(yīng)類來創(chuàng)建響應(yīng)。有了這個自定義響應(yīng)類,任何滿足格式要求的文檔都會自動被標(biāo)記為內(nèi)容類型,而其他響應(yīng)則會繼續(xù)獲得默認(rèn)的內(nèi)容類型。 譯文鏈接:編程派 原文鏈接:Flask Web Development作者的博客 有翻譯或理解不對的地方,望大家指正! Flask框架中的響應(yīng)類,命名很貼切,叫Response。不過...

    ruicbAndroid 評論0 收藏0
  • 一個Flask應(yīng)用運(yùn)行過程剖析

    摘要:本文就主要針對一個應(yīng)用的運(yùn)行過程進(jìn)行簡要分析,后續(xù)文章還會對框架的一些具體問題進(jìn)行分析。所有的請求處理過程,都會在這個上下文對象中進(jìn)行。和一些全局變量注意當(dāng)進(jìn)入這個上下文對象時,會觸發(fā)。 相信很多初學(xué)Flask的同學(xué)(包括我自己),在閱讀官方文檔或者Flask的學(xué)習(xí)資料時,對于它的認(rèn)識是從以下的一段代碼開始的: from flask import Flask app = Flask(...

    shmily 評論0 收藏0
  • flask 源碼解析:響應(yīng)

    摘要:我們知道響應(yīng)分為三個部分狀態(tài)欄版本狀態(tài)碼和說明頭部以冒號隔開的字符對,用于各種控制和協(xié)商服務(wù)端返回的數(shù)據(jù)。 這是 flask 源碼解析系列文章的其中一篇,本系列所有文章列表: flask 源碼解析:簡介 flask 源碼解析:應(yīng)用啟動流程 flask 源碼解析:路由 flask 源碼解析:上下文 flask 源碼解析:請求 flask 源碼解析:響應(yīng) response 簡介 在 f...

    wslongchen 評論0 收藏0
  • Flask 源碼閱讀筆記 開篇

    摘要:官方示例第一行類對象,這個無需解釋。請求對象的端點請求視圖函數(shù)的參數(shù)通過源碼的注釋我們可以知道,都只是對庫的進(jìn)行了一層包裝并加入一些屬性。接下來會有更多關(guān)于和相關(guān)文章放出來,敬請期待參考文檔項目源碼版本注釋版 Flask 是一個 Python 實現(xiàn)的 Web 開發(fā)微框架, 有豐富的生態(tài)資源。本文從一段官方的示例代碼通過一步步打斷點方式解釋 Flask 內(nèi)部的運(yùn)行機(jī)制,在一些關(guān)鍵概念會...

    mikyou 評論0 收藏0
  • flask基礎(chǔ)之一

    摘要:最經(jīng)典的就是了暫時性重定向的狀態(tài)碼是,表示頁面暫時性被跳轉(zhuǎn),比如訪問一個需要權(quán)限的網(wǎng)址,如果當(dāng)前用戶沒有登錄,應(yīng)該重定向到登錄頁面。作為額外的消息頭如果以上的條件都不滿足,會假設(shè)返回值是一個合法的應(yīng)用程序,并通過轉(zhuǎn)換成一個請求對象。 flask基礎(chǔ)之一 hello world #從flask這個包中導(dǎo)入Flask這個類 #Flask這個類是項目的核心,以后的很多操作都是基于這個類的對象...

    archieyang 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<