首先用户注册 实际上就是在 userprofile 表中新增一条记录,因此我们的view 还是继承mixin 里面的CreateModelmixin
我们分析注册功能,其实就是一个表单的提交,前端post过来三个参数
1、手机号 2、验证码 3、密码
那么我们要验证前端提交过来的这些参数,那么就要单独的写个serializers
这时的serializers可以继承modelSerializers
为什么前面获取验证码接口 的serializers 不可以继承modelSerializers ,而这个可以呢?
因为前面获取验证码接口 我们事先拿不到 验证码的 ,所以不能继承
而注册的接口我们是知道的,因为前端有传,数据库userprofile 中都是有的,相比而言 用户model 多了一个code 字段
首先先自定义一个字段code:
验证code
我们再来自定义一个字段 username
查看django rest framwork api guide ,validators 的用法
UniqueTogetherValidator 这个是联合唯一性,用在收藏等功能比较合适,用户id 跟要收藏商品的id 构成一个联合唯一验证
验证码 验证完后,我们不需要保存到数据库中,因此我们验证完后要删掉