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