日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

formdata 接受参数中带有class 对象_Django(五)- 请求与响应 - request对象

發布時間:2025/3/21 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 formdata 接受参数中带有class 对象_Django(五)- 请求与响应 - request对象 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

請求對象

一、客戶端傳參的幾種方式

1. 通過URL路徑(path)傳遞,例如:http://127.0.0.1:8000/news/1/2,兩個參數:id和page

2. 通過 query string查詢字符串 傳遞

i. 例如:http://127.0.0.1:8000/news?category=1&page=2

3. 通過 body請求體 傳遞,又可根據傳遞的數據格式,分為:

i. 鍵值對:category=1&page=2

ii. 表單數據

iii. 非表單數據(json,xml)

4. 通過http協議請求頭(header)傳遞

二、HttpRequest對象

一、Django請求和響應過程:

二、request對象常用屬性:

三、QueryDict對象

· 所在的包:django.http.QueryDict

· HttpRequest 對象中的 GET 和 POST 屬性都是QueryDict類型

· 與python字典不同:QueryDict對象一個鍵可以保存多個值

· get() 方法

(1) 根據鍵獲取值

(2) 如果一個鍵同時擁有多個值,將獲取最后一個值

(3) 如果鍵不存在則返回None值,可以設置返回自定義的默認值

dict.get('鍵', 默認值)

· getlist() 方法

(1) 根據鍵獲取多個值,值以列表返回

(2) 如果鍵不存在則返回空列表[]

dict.getlist('鍵', 默認值)

四、通過request獲取請求參數

1. 獲取查詢字符串

一、需求

獲取URL地址 http://127.0.0.1:8000/news?category=1&page=2

二、代碼參考

重要:查詢字符串不區分請求方式,即使客戶端通過POST方式發起請求,依然可以通過request.GET獲取

請求中的查詢字符串數據。

2. 獲取請求體數據

請求體數據格式不固定,可以是表單類型字符串,可以是JSON字符串,可以是XML字符串,應區別對待。

可以發送請求體數據的請求方式有POST、PUT、PATCH、DELETE。

2.1 獲取表單數據Form Data(鍵值對)

前端發送的表單或鍵值對類型的請求體數據,可以通過request.POST屬性獲取

重要:request.POST只能用來獲取POST方式的請求體表單數據或鍵值對數據。如果為非post請求提交的

請求體數據,或者是請求體數據類型為非表單或非鍵值對數據,則需要通過request.body屬性獲取提交的

數據后,再自己手動解析。

2.2 非表單類型 Non-Form Data

非表單類型的請求體數據,Django無法自動解析,可以通過request.body屬性獲取最原始的請求體數據,自

己按照請求體格式(JSON、XML等)進行解析。request.body返回bytes類型。

例如獲取請求體中的json數據:{"category": 1, "page": 2}

3. 獲取請求頭數據

可以通過request.META屬性獲取請求頭headers中的數據,request.META為字典類型。

注意:

· 獲取自定義的請求頭屬性值時,需要加前綴 HTTP_ 并轉成大寫,作為鍵來獲取值

示例:

總結

以上是生活随笔為你收集整理的formdata 接受参数中带有class 对象_Django(五)- 请求与响应 - request对象的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。