環境安裝與配置python
DRF須要如下依賴:django
DRF是以Django擴展應用的方式提供的,因此咱們能夠直接利用已有的Django環境而無需重新建立。(若沒有Django環境,須要先建立環境安裝Django)瀏覽器
pip install djangorestframework
咱們利用在Django框架學習中建立的demo工程,在settings.py的INSTALLED_APPS中添加'rest_framework'。框架
INSTALLED_APPS = [ ... 'rest_framework', ]
DRF的魅力學習
在booktest應用中新建.py用於保存該應用的序列化器。測試
建立一個BookInfoSerializer用於序列化與反序列化。url
class BookInfoSerializer(serializers.ModelSerializer): """圖書數據序列化器""" class Meta: model = BookInfo fields = '__all__'
在booktest應用的views.py中建立視圖BookInfoViewSet,這是一個視圖集合。spa
from rest_framework.viewsets import ModelViewSet from .serializers import BookInfoSerializer from .models import BookInfo class BookInfoViewSet(ModelViewSet): queryset = BookInfo.objects.all() serializer_class = BookInfoSerializer
在booktest應用的urls.py中定義路由信息。3d
from . import views from rest_framework.routers import DefaultRouter urlpatterns = [ ... ] router = DefaultRouter() # 能夠處理視圖的路由器 router.register(r'books', views.BookInfoViewSet) # 向路由器中註冊視圖集 urlpatterns += router.urls # 將路由器中的因此路由信息追到到django的路由列表中
python manage.py runserver
在瀏覽器中輸入網址127.0.0.1:8000,能夠看到DRF提供的API Web瀏覽頁面:rest
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很好用!