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

資訊專欄INFORMATION COLUMN

Flask Response

wapeyang / 879人閱讀

摘要:只知道對(duì)字符串和二進(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})

這時(shí)候content-Type=application/json

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

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

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

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

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

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

Hello word

",201))

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

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的子類,對(duì)他的行為做出一些改變,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來自定義對(duì)未知返回對(duì)象的處理。falsk只知道對(duì)字符串和二進(jìn)制類型進(jìn)行處理響應(yīng),其他位置類型比如字典都通過forec_type函數(shù)進(jìn)行處理,我們定義的如果返回的是dict類型那么用flask的jsonify函數(shù)轉(zhuǎn)換成json內(nèi)容類型。

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://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)。有了這個(gè)自定義響應(yīng)類,任何滿足格式要求的文檔都會(huì)自動(dòng)被標(biāo)記為內(nèi)容類型,而其他響應(yīng)則會(huì)繼續(xù)獲得默認(rèn)的內(nèi)容類型。 譯文鏈接:編程派 原文鏈接:Flask Web Development作者的博客 有翻譯或理解不對(duì)的地方,望大家指正! Flask框架中的響應(yīng)類,命名很貼切,叫Response。不過...

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

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

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

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

    wslongchen 評(píng)論0 收藏0
  • Flask 源碼閱讀筆記 開篇

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

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

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

    archieyang 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<