django-rest-framework,是一套基于Django 的 REST 框架,是一个强大灵活的构建 Web API 的工具包。本文介绍一下 django-rest-framework 的简单使用。
安装
pip install djangorestframework
使用
1、创建项目
mkdir drf-test
cd drf-test
django-admin.py startproject drfTest
cd drfTest/
python manage.py startapp api
2、修改配置文件
编辑 drtTest/setting.py 文件,在 INSTALLED_APPS 添加新应用。
INSTALLED_APPS = (
...
'rest_framework',
'api.apps.ApiConfig',
)
1.使用 APIView
from rest_framework.views import APIView
from django.http import JsonResponse
# Create your views here.
class GetMessageView(APIView):
# get 请求
def get(self, request):
# 获取参数数据
get = request.GET
# 获取参数 a
a = get.get('a')
print(a)
# 返回信息
d = {
'status': 1,
'message': 'success',
}
return JsonResponse(d)
api/urls.py 中配置 url
urlpatterns = [
path(r'test/', views.GetMessageView.as_view()),
]
2.使用viewset
1、创建模型和数据库
打开 drtTest/models.py 文件,创建一个简单 Product 模型,字段包括 created、name、describe、price、isDelete。
class Person(models.Model):
name = models.CharField(max_length=20)
age = models.IntegerField()
email = models.EmailField()
模型迁移,并同步数据库。
python manage.py makemigrations api
python manage.py migrate
2、创建序列化器
序列化器可以把模型转换成需要返回的 json、xml 类型数据。在 api 文件下创建 serializers.py 文件。
from rest_framework import serializers
from api.models import Person
class PersonSerializer(serializers.ModelSerializer):
class Meta:
model = Person
fields = ['name','age','email']
3.创建 viewsets
from rest_framework import viewsets
from .serializers import PersonSerializer
from .models import Person
class PersonViewSet(viewsets.ModelViewSet):
queryset = Person.objects.all()
serializer_class = PersonSerializer
4、url配置
在 drtTest/urls.py 中链接 api 应用程序的 url。
from django.conf.urls import path, include
from rest_framework.routers import DefaultRouter
from .views import PersonViewSet
router = DefaultRouter()
router.register(r'person', PersonViewSet)
urlpatterns = [
path(r'',include(router.urls))
]
文件链接
链接:https://pan.baidu.com/s/1wZCzKatRLdY5t9YsX1vWIA
提取码:gw9q