首頁技術文章正文

Django請求和響應設置圖文教程

更新時間:2019-12-12 來源:黑馬程序員 瀏覽量:

1、快速實現(xiàn)

①定義路由 urls.py

②定義視圖函數 views.py

·······

③模型數據調用 創(chuàng)建表

④包含模板 加載模板(html····)
1.1、路由定義

1576142541193_Django的請求和響應01.jpg

1576142551623_Django的請求和響應02.jpg

1576142560506_Django的請求和響應03.jpg

1.2、編寫視圖

1576142587801_Django的請求和響應04.jpg

1576142603616_Django的請求和響應05.jpg


1.3、瀏覽器訪問

1576142613435_Django的請求和響應06.jpg

到這里,就完成了一個頁面請求。


2、請求

https://docs.djangoproject.com/zh-hans/2.1/ref/request-response/

客戶端請求服務器端攜帶的信息

屬性:

HttpRequest.scheme:請求的方式,即http或者是https

HttpRequest.body:請求的主體,返回的是一個字符串

HttpRequest.path:請求的路徑,這里的路徑是指相對路徑,也就是說一個登陸后臺頁面的請求:http://127.0.0.1:8000/admin 的路徑是 /admin 

HttpRequest.method:請求方式 POST/GET

HttpRequest.encoding:請求提交的數據的編碼方式

HttpRequest.GET:獲取get方式表單中或url提交的數據

HttpRequest.POST:獲取post方式表單中或url提交的數據

HttpRequest.META:獲取的是一個標準的python字典。它包含了所有的HTTP請求信息

方法:

HttpRequest.get_host():請求的地址

HttpRequest.get_port():請求的端口

HttpRequest.get_full_path():請求的完整路徑,包括get參數

1576142624013_Django的請求和響應07.jpg

1576142635555_Django的請求和響應08.jpg

接收GET方式傳值

1576142647055_Django的請求和響應09.jpg

1576142658559_Django的請求和響應10.jpg


3、服務器端返回給客戶端的信息


屬性:

HttpResponse.content:響應內容

HttpResponse.status_code:響應狀態(tài)碼

HttpResponse.content_type:響應類型(默認是:text/html )

1576142669281_Django的請求和響應11.jpg

1576142680860_Django的請求和響應12.jpg

4、GET請求傳參和接收

Get請求是明文傳輸,信息附加在url上面。

在HttpRequest對象中,GET屬性是django.http.QueryDict 的實例,它是一個自定義的類似字典的類,用來處理同一個鍵帶有多個值。這個類的需求來自某些HTML 表單元素傳遞多個值給同一個鍵。

request.GET的QueryDict 在一個正常的請求/響應循環(huán)中是不可變的。

例:接收URL通過GET方式傳輸過來的參數,并打印到頁面上

①接收到參數

②通過response返回參數

·定義路由

1576142739509_Django的請求和響應13.jpg


·定義視圖函數

1576142754346_Django的請求和響應14.jpg

1576142806615_Django的請求和響應15.jpg


③進行參數組合返回給頁面顯示

1576142817068_Django的請求和響應16.jpg


5、POST請求傳參和接收

POST相對于Get請求是安全的,所有信息附加在表單中。

在HttpRequest對象中,POST屬性是django.http.QueryDict 的實例,它是一個自定義的類似字典的類,用來處理同一個鍵帶有多個值。這個類的需求來自某些HTML 表單元素傳遞多個值給同一個鍵。

request.POST的QueryDict 在一個正常的請求/響應循環(huán)中是不可變的。

例:通過postman(接口調試工具)模擬發(fā)送POST請求,傳輸參數并把參數打印到頁面

①postman發(fā)送數據

1576142833431_Django的請求和響應17.jpg

Tip:403 CSRF 禁止訪問

解決方案一: 禁止關閉 CSRF 限制

1576142846304_Django的請求和響應18.jpg

②返回數據信息

1576142863207_Django的請求和響應19.jpg

1576142873753_Django的請求和響應20.jpg


6、QueryDict對象

QueryDict.get(key, default=None)

QueryDict.getlist(key, default=None)

1576142885984_Django的請求和響應21.jpg

QueryDict.items()

QueryDict.lists()

1576142902013_Django的請求和響應22.jpg


猜你喜歡:
Django函數視圖和模板介紹
如何配置Django+HTTPS開發(fā)環(huán)境?
Django框架環(huán)境安裝教程
Django框架中路由詳細介紹
Django數據庫連接的問題
django文件上傳

分享到:
在線咨詢 我要報名
和我們在線交談!