1.使用pip命令下載:pip3 install djangorestframeworkpython
2.新建一個Django項目數據庫
cd d:\Tool # 切換到Tool目錄
python manage.py startapp apitest #建立apitest應用
目錄結構:django
4.打開settings.py,增長一段配置:
INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'apitest', #添加apitest app 'rest_framework', #添加rest_framework ] #增長一段REST_FRAMEWORK配置 REST_FRAMEWORK = { # Use Django's standard `django.contrib.auth` permissions, # or allow read-only access for unauthenticated users. 'DEFAULT_PERMISSION_CLASSES': [ 'rest_framework.permissions.DjangoModelPermissionsOrAnonReadOnly' ], 'DEFAULT_RENDERER_CLASSES': ( 'rest_framework.renderers.JSONRenderer', ), 'DEFAULT_PARSER_CLASSES': ( 'rest_framework.parsers.JSONParser', ) }
5.在apitest目錄下新建一個api.py,讓咱們來寫一些測試代碼:json
#coding=utf-8
from rest_framework import permissions from rest_framework.response import Response from rest_framework.decorators import api_view, permission_classes from django.views.decorators.csrf import csrf_exempt @csrf_exempt @api_view(http_method_names=['post']) #只容許post
@permission_classes((permissions.AllowAny,)) def inventory(request): parameter = request.data id = parameter['data'] if id == 1: data = 'There are three dogs'
elif id == 2: data = 'There are two dogs'
else: data = 'nothing'
return Response({'data':data})
6.在urls.py添加剛剛建立的api路由:api
urlpatterns = [ path('admin/', admin.site.urls), path('food/', api.inventory), #添加api中inventory路由
]
上面配置好了以後本地調試下,輸入命令:python manage.py runserver 8000服務器
import requests url= 'http://127.0.0.1:8000/food/' data = {'data':2} h=requests.post(url,json=data) print(h.text)
輸出:restful
測試OKsession