国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Flask response 對象詳情

Flask response 對象詳情

2022-03-08 00:04tigeriaf Python

在 Flask 中,響應使用 Response 對象表示,響應報文中的大部分內(nèi)容由服務器處理,一般情況下,我們只負責返回主體內(nèi)容即可。在之前的文章中,我們了解到 Flask 會先匹配請求 url 的路由,調(diào)用對應的視圖函數(shù),視圖函數(shù)的返回值構(gòu)

Flask response 對象詳情

在 Flask 中,響應使用 Response 對象表示,響應報文中的大部分內(nèi)容由服務器處理,一般情況下,我們只負責返回主體內(nèi)容即可。在之前的文章中,我們了解到 Flask 會先匹配請求 url 的路由,調(diào)用對應的視圖函數(shù),視圖函數(shù)的返回值構(gòu)成了響應報文的主體內(nèi)容。

如果視圖函數(shù)只返回一個元素的話,Flask 會創(chuàng)建 Response 對象,Response將該返回值作為主體內(nèi)容,狀態(tài)碼默認為200,MIME 的類型為text/html,然后返回該 Response 對象。

其實視圖函數(shù)可以返回最多由個元素組成的元組:響應主體、狀態(tài)碼、首部字段。我們也可以指定這三個元素的值。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
@app.route('/hello1')
 
def hello1():
 
    return 'Hello 1'
 
    # 等價于返回 Response('Hello 1', status=200, mimetype='text/html')
 
@app.route('/hello2')
 
def hello2():
 
    return 'Hello 2', 201, {'my-headers': 'tigeriaf'}

上面hello2()視圖函數(shù)返回一個元組,那么狀態(tài)碼 status 值會覆蓋默認的200狀態(tài)碼,headers 可以是一個列表或者字典,作為額外的消息頭。

其實我們也可以先構(gòu)建 Response 響應對象,設置一些參數(shù)(比如狀態(tài)碼,響應頭等)后,然后直接返回Response 響應對象。

?
1
2
3
4
5
6
7
8
9
@app.route('/hello3')
 
def hello3():
 
    response = make_response('hello 3', 202)
 
    response.headers["my-headers"] = "tigeriaf"
 
    return response

make_response()方法就是用來構(gòu)建response對象的,第二個參數(shù)表示響應狀態(tài)碼,默認是200。

之前的案例都是返回的純文本格式,但是在實際開發(fā)中一般都是返回 json 格式,那該怎么做呢?

我們都知道 Python 標準庫中的json模塊為程序提供了 JSON 格式支持,F(xiàn)lask 也在json包的基礎上做了一些功能的封裝,我們可以直接導入 Flaskjson 包,將數(shù)據(jù)序列化為 json 類型返回,再把Response 對象的 MIME 類型修改為applcation/json即可。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
@app.route('/hello4')
 
def hello4():
 
    data = {
 
        "status": 0,
 
        "message": "success",
 
        "data":
 
            {"name": "tigeriaf",
 
             "age": 24
 
             }
 
    }
 
    json_data = json.dumps(data)
 
    response = make_response(json_data)
 
    response.mimetype = "applcation/json"
 
    return response

Flask response 對象詳情

除此之外,Flask 還提供了更方便的jsonify()方法,我們僅需要傳入數(shù)據(jù)或者參數(shù)等,它會對我們傳入的數(shù)據(jù)進行序列化,轉(zhuǎn)換成 JSON 字符串作為響應的主體,然后生成一個響應對象,并且自動設置 MIME 類型,

如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@app.route('/hello4')
 
def hello4():
 
    data = {
 
        "status": 0,
 
        "message": "success",
 
        "data":
 
            {"name": "tigeriaf",
 
             "age": 24
 
             }
 
    }
 
    return jsonify(data)

可見,jsonify()方法大大簡化了我們的代碼,而且jsonify()方法接收多種形式的參數(shù),可以傳入普通參數(shù),也可以傳入關鍵字參數(shù),使用非常方便。

到此這篇關于 Flask  response 對象詳情的文章就介紹到這了,更多相關 Flask  response 對象內(nèi)容請搜索服務器之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://juejin.cn/post/7030400306454200333

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 中文av一区 | 国产精品一卡 | 91tv.com| 激情欧美一区二区免费视频 | 先锋资源av| 国产高清自拍视频 | 懂色一区二区三区av片 | 91国内外精品自在线播放 | 久久合| 久久综合欧美 | 黄色av免费 | 91久久精品日日躁夜夜躁国产 | 欧美精品一区自拍a毛片在线视频 | 毛片在线播放网站 | 色播一区二区 | 午夜av电影 | 亚洲成人高清在线 | 亚洲精品三级 | 欧美激情综合五月色丁香小说 | 精品久久97 | 97国产在线| 精品少妇一区二区三区日产乱码 | 91在线播放视频 | 一级久久 | 中文字幕高清视频 | 午夜精品一区二区三区在线播放 | 欧美日韩久 | 午夜羞羞 | 久久精品在线视频 | 日韩在线成人 | 亚洲 欧美 日韩在线 | 亚洲91| 免费日韩 | 久久综合一区 | 久久久中文字幕 | 亚洲精品白浆高清久久久久久 | 国产三级 | av一区二区在线观看 | 日韩一区二区影视 | 美女毛片| 欧美国产在线观看 |