本教程主要介紹如何通過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