我们利用Django默认的数据模型,来完成简单的注册。
首先来编写表单类
- forms.Form与forms.ModelForm的区别:如果需要对数据库进行修改(增改),则需要继承forms.ModelForm,否则继承forms.Form
- class Meta:声明表单类使用的是内部类Meta的数据模型User,表单类属性与数据模型的字段一一对应。
- field:用来声明对那些字段进行更新,也可用exclude来声明不对哪些字段进行更新。
- 表单类自定义属性:用以覆盖数据模型类的对应的字段,或者自定义属性(即不使用数据模型类的字段)
编写视图函数。
- forms.ModelForm对应数据模型,因此具有save()方法,用以将表单数据保存到数据库
- commit=False表示暂不将表单数据保存至数据库,就像SQL语句中执行但不提交一样
扩充注册内容
上面我们注册所使用的字段都是Django默认数据模型User的字段,如果我们想添加的注册字段不是数据模型User的字段,此时该怎么办?我们可以采用类似外键关联的方式。
- OneToOneField()含义的是声明Profile类与User类之间大关系是“一对一”的