1. 程式人生 > >drf框架,restful規範, #如果轉列表,一定要寫safe=false # return JsonResponse(ll,safe=False,json_dumps_params={'ensure_ascii':False})

drf框架,restful規範, #如果轉列表,一定要寫safe=false # return JsonResponse(ll,safe=False,json_dumps_params={'ensure_ascii':False})

文件 對象 pre ews isp pip3 safe ams 響應

restful是一種代碼規範,主要有:

1.域名中都是名詞,根據情況可設復數形式,

2.根據menthod種類設定不同功能

get:獲取查詢數據 返回表

post:增加新數據 返回新對象

delete:刪除數據 空

put/patch:表示修改數據 新對象

3.都是https協議進行 API與用戶的通信協議,總是使用HTTPs協議

4.將版本號放在請求頭中

5 .將API部署在專用域名

-2域名 
https://api.example.com :盡量將API部署在專用域名(會存在跨域問題)
https://example.org/api/:API很簡單(我推薦)
6.過濾通過在url傳參的形式實現過濾條件
7.狀態碼
1服務器正在請求
2.處理成功
3.重定向
4,客戶端錯誤
5:服務端錯誤
8:錯誤信息以error作為key
9;返回數據攜帶url鏈接
10針對不同操作返回不同數據格式


CBV執行過程
1,url文件會執行 .as_views()會作為一個函數地址來存放
2.收到請求後對應的函數地址調用,使得View裏的dispatch(request,*args,**kwargs)方法函數執行如果請求方式在列表裏並 如果在視圖函數中定義了該方法就執行方法
 
4 drf框架按裝和簡單使用
-在原來django框架的基礎上多做了一些事
-安裝:pip3 install djangorestframework
-這個東西其實就是一個app
-只要用drf,以後寫的都是cbv
-drf提供的:
序列化組件
視圖組件
解析器
認證組件
權限組件
頻率組件
分頁器
響應器
url控制器
版本控制
    5 APIView的源碼執行流程
-比如get請求來了,執行View的as_view方法內部的view閉包函數,view閉包函數中執行了dispatch方法,
-現在再執行dispatch,就已經不是View的dispatch,是APIView的dispatch方法了

補充
裝飾器其實就是一個函數


補充:
urlencode編碼
formdata編碼
json編碼:request.POST是沒有值,只能從body中取出,直接處理
-urlencode和formdata編碼,request.POST
 #如果轉列表,一定要寫safe=false
# return JsonResponse(ll,safe=False,json_dumps_params={‘ensure_ascii‘:False})










drf框架,restful規範, #如果轉列表,一定要寫safe=false # return JsonResponse(ll,safe=False,json_dumps_params={'ensure_ascii':False})