Django(part8)--响应及HttpResponse对象
生活随笔
收集整理的這篇文章主要介紹了
Django(part8)--响应及HttpResponse对象
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
學(xué)習(xí)筆記,僅供參考
文章目錄
- 響應(yīng)
- HTTP響應(yīng)
- HTTP狀態(tài)碼
- 常見的HTTP狀態(tài)碼
- HTTP狀態(tài)碼分類
- Django中的響應(yīng)對象HttpResponse
- 其它HttpResponse響應(yīng)對象
- 舉個例子
響應(yīng)
HTTP響應(yīng)
當(dāng)瀏覽者訪問一個網(wǎng)頁時,瀏覽者的瀏覽器會向網(wǎng)頁所在服務(wù)器發(fā)出請求。當(dāng)瀏覽器接收并顯示網(wǎng)頁前,此網(wǎng)頁所在的服務(wù)器會返回一個包含HTTP狀態(tài)碼的信息頭(server header),用以響應(yīng)瀏覽器的請求。
HTTP狀態(tài)碼
HTTP狀態(tài)碼的英文為HTTP Status Code
常見的HTTP狀態(tài)碼
- 下面是常見的HTTP狀態(tài)碼
- 200一請求成功
- 301一資源(網(wǎng)頁等)被永久轉(zhuǎn)移到其它U RL
- 404一請求的資源(網(wǎng)頁等)不存在
- 500一內(nèi)部服務(wù)器錯誤
HTTP狀態(tài)碼分類
HTTP狀態(tài)碼由3個十進(jìn)制數(shù)字組成,第1個十進(jìn)制數(shù)字定義了狀態(tài)碼的類型,后2
個數(shù)字沒有分類的作用,HTTP狀態(tài)碼共分為5種類型:
| 1## | 服務(wù)器收到請求,需要請求者繼續(xù)執(zhí)行操作 |
| 2## | 成功,操作被成功接收并處理 |
| 3## | 重定向,服務(wù)器需要進(jìn)一步的操作以完成請求 |
| 4## | 客戶端錯誤,請求包含語法錯誤或無法完成請求 |
| 5## | 服務(wù)器錯誤,服務(wù)器在處理請求的過程中發(fā)生了錯誤 |
Django中的響應(yīng)對象HttpResponse
- 構(gòu)造函數(shù)格式
- 作用
向客戶端瀏覽器返回響應(yīng),同時攜帶響應(yīng)體內(nèi)容
-
參數(shù)
- content:表示返回的內(nèi)容。
- status_code:返回的HTTP響應(yīng)狀態(tài)碼。
- content_type:指定返回數(shù)據(jù)的的MIME(多用途互聯(lián)網(wǎng)郵件擴(kuò)展類型。)類型(默認(rèn)為text/html),瀏覽器會根據(jù)這個屬性,來顯示數(shù)據(jù)。如果是text/html,那么就會解析這個字符串,如果text/plain,那么就會顯示一個純文本。
-
常用的content_type如下:
- text/html(默認(rèn)的,html文件)
- text/plain(純文本)
- text/css(css文件)
- text/javascript(js文件)
- multipart/form-data(文件提交)
- application/json (json傳輸)
- application/xml(xml文件)
其它HttpResponse響應(yīng)對象
| HttpResponseRedirect | 重定向 | 301 |
| HttpResponseNotModified | 未修改 | 304 |
| HttpResponseBadRequest | 錯誤請求 | 400 |
| HttpResponseNotFound | 沒有對應(yīng)的資源 | 404 |
| HttpResponseForbidden | 請求被禁止 | 403 |
| HttpResponseServerError | 服務(wù)器錯誤 | 500 |
舉個例子
views.py
def page_test01(request):return HttpResponseNotFound("網(wǎng)頁找不到啦...")def page_test02(request):return HttpResponseRedirect("http://www.baidu.com/")urls.py
urlpatterns = [path('admin/', admin.site.urls),re_path(r'test1/', views.page_test01),re_path(r'test2/', views.page_test02),]向http://127.0.0.1:8000/test1/發(fā)起請求:
網(wǎng)頁找不到,響應(yīng)碼為404
向http://127.0.0.1:8000/test2/發(fā)起請求:
服務(wù)器重定向到百度https://www.baidu.com/
總結(jié)
以上是生活随笔為你收集整理的Django(part8)--响应及HttpResponse对象的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 拒接电话对方能听到什么(汉典拒字的基本解
- 下一篇: Django(part9)--GET请求