1 DRF视图
-
Django REST framework是一个建立在Django基础之上的Web 应用开发框架,可以快速的开发REST API接口应用。
-
它提供了序列化器Serialzier & ModelSerializer 的定义,可以帮助我们简化序列化与反序列化的过程,
-
提供丰富的类视图、扩展类、视图集来简化视图的编写工作。
-
还提供了认证、权限、频率、过滤、分页、接口文档等功能。
-
REST framework提供了一个API 的Web可视化界面, 方便查看、测试接口。
特点
-
提供了定义序列化器的方法,可以快速将 模型类对象转为字典,便于序列化;
-
提供了丰富的类视图、Mixin扩展类,简化视图的编写;
-
丰富的定制层级:函数视图、类视图、视图集合到自动生成 API,满足各种需要;
-
多种身份认证和权限认证方式的支持;[jwt]
-
内置了限流系统;
-
直观的 API web 界面;【方便我们调试开发api接口】
-
可扩展性,插件丰富
-
模型类的创建
-
部门表
-
class Department(BaseModel): """ 部门 """ name = models.CharField(max_length=30) class Meta: db_table = 'tb_department' def __str__(self): return self.name
职务表
-
class Duty(BaseModel): """ 职务 """ name = models.CharField(max_length=30, verbose_name='职务名称') def __str__(self): return self.name class Meta: db_table = 'tb_duty'
员工表
-
class Staff(models.Model): # 不能也继承BaseModel,会冲突 """ 员工 """ SEX_CHOICE = ( (1, '男'), (2, '女') ) department = models.ForeignKey(Department, on_delete=models.CASCADE) duty = models.ForeignKey(Duty, on_delete=models.CASCADE) name = models.CharField(max_length=30, verbose_name='姓名') sex = models.IntegerField(choices=SEX_CHOICE, default=1, verbose_name='性别') phone = models.CharField(max_length=11, verbose_name='手机号') email = models.EmailField(max_length=60, verbose_name='邮箱') census_register = models.CharField(max_length=200, verbose_name='户籍') #picture = models.ImageField(upload_to='staff_pic', verbose_name='员工照片') def __str__(self): return self.name class Meta: db_table = 'tb_staff'