1:Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。
2:它提供了序列化器Serialzier & ModelSerializer 的定义,可以帮助我们简化序列化与反序列化的过程
3:
-
提供丰富的类视图、扩展类、视图集来简化视图的编写工作。
-
还提供了认证、权限、频率、过滤、分页、接口文档等功能。
-
REST framework提供了一个API 的Web可视化界面, 方便查看、测试接口
补充:》》》》》》》
DRF:
-
提供了定义序列化器的方法,可以快速将 模型类对象转为字典,便于序列化;
-
提供了丰富的类视图、Mixin扩展类,简化视图的编写;
-
丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;
-
多种身份认证和权限认证方式的支持;[jwt]
-
内置了限流系统;
-
直观的 API web 界面;【方便我们调试开发api接口】
-
可扩展性,插件丰富
以下是模型类的创建
from django.db import models
# Create your models here.
# 基类 创建时间 更新时间
class BaseModel(models.Model):
# 日期时间类型 第一个创建时间,==true 系统自动给添加
created_time = models.DateTimeField(verbose_name='创建时间',auto_now_add=True)
updated_time = models.DateTimeField(verbose_name='更新时间',auto_now=True)
# 部门类 什么部门
class Department(BaseModel):
name = models.CharField(verbose_name='部门',max_length=50)
def __str__(self):
return self.name
class Meta():
db_table = 'department'
verbose_name = '部门'
# 职务类-
class Duty(BaseModel):
name = models.CharField(verbose_name='工作职务',max_length=50)
class Meta():
db_table = 'duty'
verbose_name = '职务'
def __str__(self):
return self.name
# 员工类模型
class Staff(models.Model):
SEX_CHOICE = (
(1,'男'),
(0,'女')
)
name = models.CharField(max_length=30,verbose_name='员工')
# 小整型 这里的只有 1 0 ,,,1代表的是男生,0代表的是女
sex = models.SmallIntegerField(verbose_name='性别',default=1,choices=SEX_CHOICE)
phone = models.CharField(verbose_name='手机号',max_length=11)
email = models.CharField(verbose_name='邮箱',max_length=50)
department = models.ForeignKey(to=Department,on_delete=models.CASCADE,verbose_name='部门')
duty = models.ForeignKey(to=Duty,on_delete=models.CASCADE,verbose_name='职务')
# 外键关联 ---部门 职责
class Meta:
db_table = 'staff'
verbose_name = '员工'
def __str__(self):
return self.name
4:我们一般是前后端分离写,所以在前后端连接中,需要用到json序列化,明天我们会进行后端序列化器的使用