【Python web 开发】用户注册功能(2)

我们继续来完善用户的注册功能

注册的时候前端post过来 手机号,验证码,密码,而密码和验证码我们只需要在serialzers 里面验证用,不需要序列化返回给前端

正常的serialzers  是怎样的逻辑呢? 我们来看下CreateModelMixin 的源码

 

上面的错误查看源码中CreateModelMixin的部分代码。可以看到它在验证了是否有效之后执行了save。这些都是不会有问题的,但是当它return Response时,它会return S rializer的data(会依照我们在fields中的配置)。这时候因为data中的字段已经和model中的不再一致。

 

那正对这样的场景,我们在自定义serialzers 的时候 参数上 可以设置为 read_only = True

django rest framwork  api guid 上面有介绍哦

 

  密码post 过来是明文,我们在存储到数据库的时候不能存明文,因此要在serialzers的时候重载 create 方法

 

 测试:

post

return:

并没有返回code 以及password 回来哦,达到我们的效果

 

posted @ 2018-12-05 17:56  初学者,方圆几里  阅读(410)  评论(0编辑  收藏  举报