1>注册页面的基本错误信息返回已经实现了,接下来就是优化下校验规则,也就是加钩子,
如上,当基本规则校验之后,才会再校验这些“额外”的校验规则,需要注意的,局部钩子返回的错误信息仍然在字段名称
对应的值里面,就是那个错误字典:{字段1:[,,,,,,],字段2:[,,,,,,]},而全局钩子返回的错误信息是在字段__all__下面,
也就是,{__all__:[全局钩子错误信息],字段n:[,,,,,,]},所以,模板层接收也要做相应的处理,如下
加个判断,若键值为__all__,就固定把错误信息放入 确认密码下面,因为它就是校验密码一致性的。
2>文件存储及media设置
我们看下文件写哪里去了
把之前的model拿出来看下,如上,默认是传到项目根路径下面的 avatar/目录下面,若改目录不存在则自动创建,
若没有上传文件,则自动赋值 这个avatar目录下的 default.png文件,
为了让整个项目的目录结构更清晰,我们配置下settings,让它单独为文件“开放一个接口”,就像static目录一样,
我们可以通过url访问static下面的文件,
在项目根目录下创建media目录,然后于settings和url配置如下
如下, 以后的头像文件就会自动上传到这里,数据库只会保存这个文件对应的地址,记得要把那个defaul.png也放入进去
不然下次没传递头像的用户取默认值的时候就取不到了。