更新時間:2019-12-12 來源:黑馬程序員 瀏覽量:
1、快速實現(xiàn)
①定義路由 urls.py
②定義視圖函數(shù) views.py
·······
③模型數(shù)據(jù)調用 創(chuàng)建表
④包含模板 加載模板(html····)
1.1、路由定義
1.2、編寫視圖
1.3、瀏覽器訪問
到這里,就完成了一個頁面請求。
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:請求提交的數(shù)據(jù)的編碼方式
HttpRequest.GET:獲取get方式表單中或url提交的數(shù)據(jù)
HttpRequest.POST:獲取post方式表單中或url提交的數(shù)據(jù)
HttpRequest.META:獲取的是一個標準的python字典。它包含了所有的HTTP請求信息
方法:
HttpRequest.get_host():請求的地址
HttpRequest.get_port():請求的端口
HttpRequest.get_full_path():請求的完整路徑,包括get參數(shù)
接收GET方式傳值
3、服務器端返回給客戶端的信息
屬性:
HttpResponse.content:響應內容
HttpResponse.status_code:響應狀態(tài)碼
HttpResponse.content_type:響應類型(默認是:text/html )
4、GET請求傳參和接收
Get請求是明文傳輸,信息附加在url上面。
在HttpRequest對象中,GET屬性是django.http.QueryDict 的實例,它是一個自定義的類似字典的類,用來處理同一個鍵帶有多個值。這個類的需求來自某些HTML 表單元素傳遞多個值給同一個鍵。
request.GET的QueryDict 在一個正常的請求/響應循環(huán)中是不可變的。
例:接收URL通過GET方式傳輸過來的參數(shù),并打印到頁面上
①接收到參數(shù)
②通過response返回參數(shù)
·定義路由
·定義視圖函數(shù)
③進行參數(shù)組合返回給頁面顯示
5、POST請求傳參和接收
POST相對于Get請求是安全的,所有信息附加在表單中。
在HttpRequest對象中,POST屬性是django.http.QueryDict 的實例,它是一個自定義的類似字典的類,用來處理同一個鍵帶有多個值。這個類的需求來自某些HTML 表單元素傳遞多個值給同一個鍵。
request.POST的QueryDict 在一個正常的請求/響應循環(huán)中是不可變的。
例:通過postman(接口調試工具)模擬發(fā)送POST請求,傳輸參數(shù)并把參數(shù)打印到頁面
①postman發(fā)送數(shù)據(jù)
Tip:403 CSRF 禁止訪問
解決方案一: 禁止關閉 CSRF 限制
②返回數(shù)據(jù)信息
6、QueryDict對象
QueryDict.get(key, default=None)
QueryDict.getlist(key, default=None)
QueryDict.items()
QueryDict.lists()
猜你喜歡:
Django函數(shù)視圖和模板介紹
如何配置Django+HTTPS開發(fā)環(huán)境?
Django框架環(huán)境安裝教程
Django框架中路由詳細介紹
Django數(shù)據(jù)庫連接的問題
django文件上傳