1. 程式人生 > >Django Rest Framework簡介及初步使用

Django Rest Framework簡介及初步使用

                                                使用Django Rest Framework之前我們要先知道,它是什麼,能幹什麼用?

Django Rest Framework 是一個強大且靈活的工具包,用以構建Web API

為什麼要使用Rest Framework

          Django REST Framework可以在Django的基礎上迅速實現API,並且自身還帶有WEB的測試頁面,可以方便的測試自己的API

web應用模式分兩種:

             1. 前後端不分離

        在前後端不分離的引用模式中,前端頁面看到的效果都是由後端控制的,由後端頁面渲染或者重定向,也就是後端需要控制前端的展示,前端與後端的耦合度很高,這種模式比較適合純網頁應用,但是後端對接APP時,App可能並不需要後端返回一個HTML網頁,二僅僅是資料本身,所以後端原本返回網頁的介面不在適用前端APP應用,為了對接APP後端嗨需再開發一套介面。

        這個可以看我之前寫的DJango部落格就可以知道,每次返回時都是使用render 或者redirect來返回的,需要帶上HTML頁面和引數

             2. 前後端分離

          在前後端分離的應用模式中,後端僅返回前端所需要的資料,不再渲染HTML頁面,不再控制前端的效果,只要前端使用者看到什麼效果,從後端請求的資料如何載入到前端中,都由前端自己決定,網頁有網頁自己的處理方式,APP有APP的處理方式,但無論哪種前端所需要的資料基本相同,後端僅需開發一套邏輯對外提供資料即可,在前後端分離的應用模式中,前端與後端的耦合度相對較低

          在前後端分離的應用模式中,我們通常將後端開發的每一檢視都成為一個介面,或者API,前端通過訪問介面來對資料進行增刪改查

如果專案的需求是後一種情況的話,那麼就可以用到Django Rest Framework了

Django REST framework 簡介

     序列化和反序列化可以複用
            增:效驗請求資料>執行反序列化過程>儲存資料庫>將儲存的物件序列化並返回
            刪:判斷要刪除的資料是否存在.>執行資料庫刪除
            改:判斷要修改的資料是否存在>效驗請求的引數>執行反序列化過程>儲存資料庫>將儲存的物件序列化並返回
            查:查詢資料庫>將資料序列化並返回
特點:
           1.提供了定義序列化器Serializer的方法,可以快速根據Django ORM 或者其他庫自動序列化/反序列化
           2.提供了豐富的類檢視\MIXIN擴充套件類,簡化檢視的編寫
           3.豐富的定製層級:函式檢視\類檢視\試圖結合到自動生成API,滿足各種需要
           4.多種身份認證和許可權認證方式的支援
           5.內建了限流系統
           6.直觀的API web介面
           7.可擴充套件性 , 外掛豐富

Django REST framework 的核心任務

     使用Django Rest framework的話,和之前使用Django時沒多大差別,當然,更復雜的差別我也不知道

         1.   多了個serializers.py檔案

       這個檔案的作用是Serializers把querysets和model instances這些複雜的資料結構轉化為native Python 以便於以json,xml或其它內容型別的形式render出去。

         2. 檢視的核心功能變了

                  1.  將資料庫資料序列化為前端需要的格式,並返回

                  2. 將前端傳送過來的資料反序列化為模型類物件,並儲存到資料庫中

Django REST framework 的使用

     1.  新建Django專案

這個不用多說,在之前的介紹中有

     2.  配置 Rest framework

              1.  settings.py

                           在INSTALLED_APPS中加入我們的專案名和rest_framework,因為我是直接新建了一個資料夾,並不是在以有其它專案的情況下新建專案,所以我們的專案名他自己建立好了,只需要加41行就可以

               

            新增資料庫配置,我使用的是MySQL

               

     3.  modles.py

                

     4.  serializers.py

這個檔案並沒有,需要我們自己新建,該專案下要新建兩個檔案,一個是urls.py, 另一個是serializers.py     

     5.  主容器的urls.py

     6.  專案的urls.py

     7.   views.py

          

     8.  mysql 中插入資料

          

     9.  一切準備就緒,就該啟動專案了

                    

                    

     10.  url拼接

友情連結: