Django网络应用开发的5项基础核心技术包括模型(Model)的设计,URL的设计与配置,View(视图)的编写,Template(模板)的设计和Form(表单)的使用。
本次注册涉及到使用短信验证码和图形验证码,所以在进行注册表单验证时,不仅有用户名、密码和手机号,还需要对前端传过来的验证码进行比对验证。
同样,在注册表单中,也继承了表单验证错误消息提示 Mixin 类。
表单验证错误消息提示
Mixin 类,实现多继承;使用Mixin类实现多重继承要非常小心。
首先它必须表示某一种功能,而不是某个物品,如同Java中的Runnable,Callable等。
其次它必须责任单一,如果有多个功能,那就写多个Mixin类。然后,它不依赖于子类的实现。
最后,子类即便没有继承这个Mixin类,也照样可以工作,就是缺少了某个功能。
注册表单
Form表单的功能
自动生成HTML表单元素
检查表单数据的合法性
如果验证错误,重新显示表单(数据不会重置)
数据类型转换(字符类型的数据转换成相应的Python类型)
处理表单数据
表单数据都被存储在form.cleaned_data对象中(字典类型,意为经过清洗的数据),而且数据会被自动转换为Python对象。
重写 clean 方法 is_valid
注册视图
在重构 USER 模型中,User 模型自定义管理器,创建普通用户。
Django—form组件 is_valid 校验机制
领取专属 10元无门槛券
私享最新 技术干货