天天看點

使用Django-Rest-Framework快速入門介紹項目準備序列化Views路由設定測試

本教程主要介紹如何通過django-rest-framework快速建立rest風格的api。為了快速的示範,本教程使用django framework内置的user和group資料,并且使用sqlite資料庫。

建立一個名為 tutorial的django項目,然後在建立一個名為quickstart的應用

接下來,我們同步相關的測試資料。(本教程為了降低環境的複雜性,預設使用sqlite資料)

同步完測試資料以後,建立一個初始的使用者(admin)和密碼(password1234) 用來在接下來的場景中進行身份的校驗

當我們完成資料庫和使用者的初始化工作後,接下來就可以進入到編碼階段了

接下來我們建立用于資料序列化的代碼。建立 tutorial/quickstart/serializers.py 檔案

值得注意的是, 我們使用的是hyperlinkedmodelserializer. 你可以使用主鍵或者其他關系, 但使用hyperlinkedmodelserializer是一個好的 restful 設計

我們最好寫一些view。 打開 tutorial/quickstart/views.py 寫入以下内容

在django_rest_framework中, 所有常見的行為都被歸到了viewsets中. 當然我們可以将這些行為分拆出來, 但使用viewsets, 使view的邏輯更為清楚.

接下來我們配置api的路由規則,在檔案 tutorial/urls.py

因為我們使用的是viewset, 是以我們可以使用route class自動生成url conf.

在完成以上工作以後,我們需要進行一些必要的全局設定。例如我們需要打開分頁功能,以及我們希望api隻能讓admin使用者通路等。諸如此類的設定都可以在tutorial/settings.py中完成

現在,我們完成了全部的工作。接下裡開始測試

至此我們的設定完成, 可以測試我們的rest api了, 首先啟動django伺服器:

至此我們可以通路我們的api