1. 程式人生 > >見識DRF的魅力(django rest framework)

見識DRF的魅力(django rest framework)

出處:https://blog.csdn.net/aransam/article/details/80832600

1. 建立序列化器
在booktest應用中新建serializers.py用於儲存該應用的序列化器。

建立一個BookInfoSerializer用於序列化與反序列化。

class BookInfoSerializer(serializers.ModelSerializer):
    """圖書資料序列化器"""
    class Meta:
        model = BookInfo
        fields = '__all__'
model 指明該序列化器處理的資料欄位從模型類BookInfo參考生成
fields 指明該序列化器包含模型類中的哪些欄位,'__all__'指明包含所有欄位


2. 編寫檢視
在booktest應用的views.py中建立檢視BookInfoViewSet,這是一個檢視集合。

from rest_framework.viewsets import ModelViewSet
from .serializers import BookInfoSerializer
from .models import BookInfo
 
class BookInfoViewSet(ModelViewSet):
    queryset = BookInfo.objects.all()
    serializer_class = BookInfoSerializer
queryset 指明該檢視集在查詢資料時使用的查詢集
serializer_class 指明該檢視在進行序列化或反序列化時使用的序列化器


3. 定義路由
在booktest應用的urls.py中定義路由資訊。

from . import views
from rest_framework.routers import DefaultRouter
 
urlpatterns = [
    ...
]
 
router = DefaultRouter()  # 可以處理檢視的路由器
router.register(r'books', views.BookInfoViewSet)  # 向路由器中註冊檢視集
 
urlpatterns += router.urls  # 將路由器中的所以路由資訊追到到django的路由列表中

 


4. 執行測試
運行當前程式(與執行Django一樣)

python manage.py runserver
在瀏覽器中輸入網址127.0.0.1:8000,可以看到DRF提供的API Web瀏覽頁面:

1)點選連結127.0.0.1:8000/books/ 可以訪問獲取所有資料的介面,呈現如下頁面:

2)在頁面底下表單部分填寫圖書資訊,可以訪問新增新圖書的介面,儲存新書:

點選POST後,返回如下頁面資訊:

3)在瀏覽器中輸入網址127.0.0.1:8000/books/1/,可以訪問獲取單一圖書資訊的介面(id為1的圖書),呈現如下頁面:

4)在頁面底部表單中填寫圖書資訊,可以訪問修改圖書的介面:

點選PUT,返回如下頁面資訊:

5)點選DELETE按鈕,可以訪問刪除圖書的介面:


返回,如下頁面:

至此,是不是發現Django REST framework很好用!
 

https://blog.csdn.net/smartwu_sir/article/details/80209907?utm_source=blogxgwz9

https://www.django-rest-framework.org/#example