前言
这个文章,是我学习王进老师的课程的笔记,感谢王进老师。强烈推荐大家去看看王进老师的课程
第一步,安装和注册 Django REST Framework
可以通过 pip 来安装。最好在一个虚拟环境中进行操作,以隔离出您的项目所需的依赖项。
步骤如下:
- 打开终端或命令行界面。
- 进入您的项目虚拟环境。
- 运行以下命令来安装 Django REST Framework:
pip install djangorestframework
- 安装完成后,您需要将它添加到您的项目的 settings.py 文件中的 INSTALLED_APPS 中:
INSTALLED_APPS = [
# ...
'rest_framework',
]
这样,Django REST Framework 就已经被成功安装到您的项目中了。
第二步,增删改查的应用
1、rest的基本规范:
常用的HTTP请求方法有以下几种:
GET:获取资源的信息,可以理解为读取操作。
POST:创建资源,可以理解为写入操作。
PUT:更新资源,可以理解为更新操作。
DELETE:删除资源,可以理解为删除操作。
PATCH:更新资源的部分信息,可以理解为局部更新操作。
2、序列化
序列化,就是将django从数据库中取出的数据对象进行转换。即获取数据时,将对象转化为 json 格式传送给前端;存储时,将 json 格式转化为对象,写入数据中。
在 app 的文件夹中新建 “serializer.py” 文件,并在该文件中写入:
# ==========导入模块===========
from rest_framework import serializers
from studentweb.models import Faculty, Major, Student
# ==========Faculty 序列化类============
class FacultySerializer(serializers.Modelserializer):
class Meta:
model = Faculty
fields = "__all__"
# ==========Major序列化类============
class MajorSerializer(serializers.Modelserializer):
class Meta:
model = Major
fields = "__all__"
# ==========Student序列化类============
class StudentSerializer(serializers.Modelserializer):
class Meta:
model = Student
fields = "__all__"
3、视图
实现后台的核心功能。基于 类 来实现
在views文件中写入:
# ============导入模块==================
from rest_framework.viewsets import ModelViewSet # 封装完成的ModleViewset视图集
from studentweb.models import Faculty, Major, Student # 导入数据类
from studentweb.serializer import FacultySerializer, MajorSerializer, StudentSerializer # 导入序列化的数据类
# ================Faculty视图======================
class FacultyViewSet(ModelViewSet):
queryset = Faculty.objects.all()
serializer_class = FacultySerializer
# ================mojer视图======================
class MojerViewSet(ModelViewSet):
queryset = Mojer.objects.all()
serializer_class = MojerSerializer
# ================Student视图======================
class StudentViewSet(ModelViewSet):
queryset = Student.objects.all()
serializer_class = FacultySerializer
4、路由
在 “urls.py” 文件中配置路由
# =============导入模块===========
from django.urls import path
from rest_framework.routers import DefaultRouter
from studentweb.views import FacultyViewSet, MojerViewSet, StudentViewSet
urlpatterns = []
# ============1.实例化一个DefaultRouter=========
router = DefaultRouter()
# ============2.注册相应的url===================
# 注册 faculty 对象
router.register('facultys', FacultyViewSet, basename='facultys')
# 注册 major对象
router.register('majors', MajorViewSet, basename='majors')
# 注册 student 对象
router.register('students', StudentViewSet, basename='students')
# ============3.附加到urlpatterns集合中=========
urlpatterns += router.urls
第三步,实现筛选
1、安装 django-filter 并注册
可以通过 pip 来安装。最好在一个虚拟环境中进行操作,以隔离出您的项目所需的依赖项。
步骤如下:
- 打开终端或命令行界面。
- 进入您的项目虚拟环境。
- 运行以下命令来安装 Django-filter:
pip install django-filter