Django REST framework学习记录,包括REST的基本用法,Django-filter实现筛选、查询、模糊查询等功能,实现分页,用Swagger生成api文档

前言

这个文章,是我学习王进老师的课程的笔记,感谢王进老师。强烈推荐大家去看看王进老师的课程

第一步,安装和注册 Django REST Framework

可以通过 pip 来安装。最好在一个虚拟环境中进行操作,以隔离出您的项目所需的依赖项。

步骤如下:

  1. 打开终端或命令行界面。
  2. 进入您的项目虚拟环境。
  3. 运行以下命令来安装 Django REST Framework:
pip install djangorestframework
  1. 安装完成后,您需要将它添加到您的项目的 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 来安装。最好在一个虚拟环境中进行操作,以隔离出您的项目所需的依赖项。

步骤如下:

  1. 打开终端或命令行界面。
  2. 进入您的项目虚拟环境。
  3. 运行以下命令来安装 Django-filter:
pip install django-filter
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值