Django REST framework是基於Django實現的一個RESTful風格API框架,可以幫助咱們快速開發RESTful風格的API。git
官網:https://www.django-rest-framework.org/github
中文文檔:https://q1mi.github.io/Django-REST-framework-documentation/web
pip install djangorestframework
若是想要獲取一個圖形化的頁面,須要將 rest_framework 註冊到項目的INSTALL_APPS中。django
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'bms.apps.BmsConfig', 'rest_framework', ]
urlpatterns = [ url(r'^users', Users.as_view()), ]
from django.views import View from django.http import JsonResponse class Users(View): def get(self, request, *args, **kwargs): result = { 'code': 0, 'data': 'response data' } return JsonResponse(result, status=200) def post(self, request, *args, **kwargs): result = { 'code': 0, 'data': 'response data' } return JsonResponse(result, status=200)
from django.conf.urls import url, include from web.views.s1_api import TestView urlpatterns = [ url(r'^test/', TestView.as_view()), ]
from rest_framework.views import APIView from rest_framework.response import Response class TestView(APIView): def dispatch(self, request, *args, **kwargs): """ 請求到來以後,都要執行dispatch方法,dispatch方法根據請求方式不一樣觸發 get/post/put等方法 注意:APIView中的dispatch方法有好多好多的功能 """ return super().dispatch(request, *args, **kwargs) def get(self, request, *args, **kwargs): return Response('GET請求,響應內容') def post(self, request, *args, **kwargs): return Response('POST請求,響應內容') def put(self, request, *args, **kwargs): return Response('PUT請求,響應內容')
上述就是使用Django REST framework框架搭建API的基本流程,重要的功能是在APIView的dispatch中觸發。api