1月3日学习内容整理:modelform

1、modelform本质上还是form组件

2、引入

from django.forms import  ModelForm

3、创建

class  Form(ModelForm):

  class  Meta:

    model=Book                  Book就是models.py中定义的类,也就是表

    firelds="_ _all_ _"          代表继承Book表中的所有字段

4、实例对象

form = Form()      未绑定的,不带数据的Form对象

form = Form(data=request.POST)      绑定的,带数据的Form对象

5、前端渲染

把未绑定的实例对象传到模版文件中,for循环这个实例对象,循环出的就是每一个字段,会自动渲染出form表单,可以.label取出字段名

6、给渲染出的标签添加样式

from django.forms  import  widgets

在class  Meta中写:

widgets={

  "字段名":widgets.textinput( attrs={} )             分别给字段添加样式,属性值,这里注意必须写明每一个字段名,无法统一添加,跟form组件写法是一样的

}

7、新增记录,保存数据

使用绑定的实例对象,校验完后:

form.save()    这样就会自动在数据库中生成一条记录,因为和models是有关联的

8、编辑

form = Form(instance = model对象)

将实例对象传到模版文件中,就会自动显示该model对象的字段值

9、保存编辑后的数据

整理我们不能用绑定的实例对象的save方法,这样就会在数据库中生成新的记录,我们要做的是update

form =  Form(instance=model对象,data=request.POST) 

校验完后form.save()

这样就是对该model对象修改字段值

posted @ 2018-01-03 14:45  九二零  阅读(91)  评论(0编辑  收藏  举报