深入學習Django源碼基礎10 - Django中http模塊

Django 中 http部分

http部分 涉及到2個
1接收的請求。request
2返回的請求。response

通過截獲http協議可以看到。請求的是url + key:value的原始數據。
返回的也是一樣。
如何把原始數據對應請求對象和返回對象

查看Django.http模塊
在request.py文件中。request對象有編碼,GET<POST,COOKIES,META,FILES,path,path_info,幾種與http相關的

其中1個方法
def is_ajax(self):
        return self.META.get('HTTP_X_REQUESTED_WITH') == 'XMLHttpRequest'


對於Response同樣。
查看Response.py代碼。基類HttpResponseBase中定義了
status_code 響應編碼
_headers
_charset
content_type
cookie

在子類HttpResonse中有content.用來填充響應的內容部分
接下來定義了一堆不同的響應子類。

其中比較玩味的部分是解析post與file數據部分。
具體代碼在multipartparser.py文件中。採用了延遲加載的流來獲取數據。


發佈了104 篇原創文章 · 獲贊 8 · 訪問量 61萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章