作用
Django Rest Framework 是一個強大且靈活的工具包,用以構建Web API
Django REST Framework可以在Django的基礎上迅速實現API,並且自身還帶有WEB的測試頁面,可以方便的測試自己的API
Web項目的兩種模式
- 前後端不分離
在前後端不分離的引用模式中,前端頁面看到的效果都是由後端控制的,由後端頁面渲染或者重定向(每次返回時都是使用render 或者redirect來返回的,需要帶上HTML頁面和參數),也就是後端需要控制前端的展示,前端與後端的耦合度很高,這種模式比較適合純網頁應用,但是後端對接APP時,App可能並不需要後端返回一個HTML網頁,二僅僅是數據本身,所以後端原本返回網頁的接口不在適用前端APP應用,爲了對接APP後端嗨需再開發一套接口。
- 前後端分離
在前後端分離的應用模式中,後端僅返回前端所需要的數據,不再渲染HTML頁面,不再控制前端的效果,只要前端用戶看到什麼效果,從後端請求的數據如何加載到前端中,都由前端自己決定,網頁有網頁自己的處理方式,APP有APP的處理方式,但無論哪種前端所需要的數據基本相同,後端僅需開發一套邏輯對外提供數據即可,在前後端分離的應用模式中,前端與後端的耦合度相對較低
在前後端分離的應用模式中,我們通常將後端開發的每一視圖都成爲一個接口,或者API,前端通過訪問接口來對數據進行增刪改查
若項目是前後端分離的就可以用到Django Rest Framework
使用
- 安裝
pip3 install djangorestframework
- 註冊
在settings.py中註冊
app:INSTALLED_APPS = [
...,
'rest_framework'
]
# 國際化配置
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
USE_I18N = True
USE_L10N = True
USE_TZ = False
框架風格
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework.request import Request
from rest_framework.serializers import Serializer
from rest_framework.settings import APISettings
from rest_framework.filters import SearchFilter
from rest_framework.pagination import PageNumberPagination
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.throttling import SimpleRateThrottle
class Test(APIView):
def get(self, request, *args, **kwargs):
return Response('drf get ok')