进入Django rest framwork官网就能看到rest_framwork相关的教程;
1.安装rest_framwork
pip install djangorestframework
pip install markdown # Markdown support for the browsable API.
pip install django-filter # Filtering support
2.在setting中注册
setting
中注册
INSTALLED_APPS = [
...
'rest_framework',
]
3.添加序列化工具
在子应用的根目录下面创建一个serializers.py
序列化文件,对当前模型进行序列化.下面演示对shop类进行序列化:
shop\serializers.py
from rest_framework import serializers
from shop.models import Category
class CategorySerializer(serializers.ModelSerializer):
"""
编写针对Category的序列化类
本类指明了Category的序列化细节
需要继承ModelSerializer 才可以针对模型进行序列化
在Meta类中 model指明序列化的模型 fields指明序列化的字段
"""
class Meta:
model=Category
fields="__all__"
4.添加视图模型
在视图模型shop.views
中使用序列化
from rest_framework import viewsets
from shop.models import Category
from shop.serializers import CategorySerializer
class CategoryViewSets(viewsets.ModelViewSet):
"""
分类视图:
继承ModelViewSet之后拥有GET POST PUT PATCH DELETE等HTTP动词操作
serilizer_class 指明序列化类
"""
queryset = Category.objects.all()
serializer_class = CategorySerializer
5.在根目录的url中注册drf路由
先把项目根目录设置为根目录:
在根目录下的urls中添加下面代码:
from django.contrib import admin
from django.urls import path, include
# 引入DRF默认自带的路由
from rest_framework import routers
from shop.views import CategoryViewSets
router=routers.DefaultRouter()
# 可以通过router默认路由注册资源
router.register('categorys',CategoryViewSets)
urlpatterns = [
path('admin/', admin.site.urls),
path('api/v1/',include(router.urls))
]
这样进入drf路由中就可以看到路由中的链接
在浏览器中输入http://127.0.0.1:8000/api/v1/
点击相关的链接就可以查询到相关信息,get是查询列表所有信息,post是修改信息,其他相关功能后续会继续介绍.