引言——在前面你也跟著本博主撰寫了那么多的視圖函式,但是每個視圖函式它都會接收一個名為request的引數,
是不是很好奇:視圖函式接收到的request到底是個什么物件!!!
HttpRequest物件

1.我們可以列印這個request物件,看一下:
<WSGIRequest: GET '/music/test3/'>
我們知道WSGIRequest是一個HTTP請求物件,里面包括了提交的方式和URL路徑,
綜上可知:
服務器接收到http協議的請求后,會根據報文創建HttpRequest物件(它是一個請求物件:用戶資訊(提交方式等);瀏覽器資訊(請求頭資訊等),)
視圖函式的第一個引數是HttpRequest物件,
在django.http模塊中定義了HttpRequest物件的API
2.我們可以列印觀察一下它具備哪些方法:
dir(request)

常用屬性和方法功能講解:
屬性:
- path:一個字串,表示請求的頁面的完整路徑,不包含域名,
- method:一個字串,表示請求使用的HTPP方法,常用的值包括:‘GET’,‘POST’,
- encoding:一個字串,表示提交的資料的編碼方式,如果為None則表示使用瀏覽器的默認設定(一般為utf-8),這個屬性是可寫的,可以通過修改它來修改訪問表單資料使用的編碼,加下來對屬性的任何訪問都將使用新的encoding值,
- GET:一個類似于字典的物件,包含get請求方式的所有引數,
- POST:一個類似于字典的物件,包含post請求方式的所有引數,
- FILES:一個類似于字典的物件,包含所有的上傳檔案,
- COOKIES:一個標準的Python字典,包含所有的cookie,鍵和值都為字串,
- session:一個既可讀又可寫的類似于字典的物件,表示當前的會話,只有當Django啟用會話的支持時才可用,
方法:
- is_ajax():如果請求是通過XMDHttpRequest發起的,則回傳True,
??可以掃碼關注本人公眾號——任何問題都可在公眾號提問(定時有專人解答);并且不定時更新干貨文,歡迎關注哦!??

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/297844.html
標籤:python
