大橙子网站建设,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Django中如何使用modelform组件

本篇文章为大家展示了Django中如何使用modelform组件,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

站在用户的角度思考问题,与客户深入沟通,找到曹县网站设计与曹县网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广、国际域名空间、雅安服务器托管、企业邮箱。业务覆盖曹县地区。

modelform是model衍生出来的form .

modelform的用法非常死.

首先在models.py里创建模型表.

所有的form组件单独放在form.py文件,其他地方引入form就可以.

创建modelfrom

只要告诉modelform哪一个模型表,它会自动帮我们比对models模型表字段,并衍生成form组件.它不光给我们提供form组件,还有组件没有的功能.

所有字段都生成form组件.

fields="__all__"

username和password字段生成form组件.

fields=['username','password']

排除gender字段以外都生成form组件.

exclude=['gender']

modelform用在两个地方,一个是添加,一个是编辑.

添加数据

form添加数据先从form取数据,然后在用models插入数据.

modelform直接form.save()就可以插入数据.

编辑数据get请求.

form传值给模板的时候要添加instance数据,否则模板渲染的时候value是空的.

编辑数据post请求.

form.save()的时候要给form添加instance数据,否则会变成create操作,不是update更新操作.

知识点扩展

创建类

from django.forms import ModelFormfrom django.forms import widgets as wdfrom app01 import modelsclass 类名(ModelForm):class Meta:model = models.表名 #models中的表名fields="__all__", # 字段exclude=None, # 排除字段widgets=None, # 自定义插件error_messages=None, # 自定义错误信息(整体错误信息from django.core.exceptions import NON_FIELD_ERRORS)def clean_字段名 #自定义钩子函数

实例化对象

form = 类名(instance=obj,data=request.POST)

instance传的是已有的对象(在页面中显示默认值)

data传的是从页面返回过来的值(用户输入的值 ,用来验证)

form.is_valid() #验证

form.save #将数据保存至数据库中(如果有instance参数就修改数据库中的记录,如果没有instance参数就在数据库中添加新的一条记录)

上述内容就是Django中如何使用modelform组件,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


名称栏目:Django中如何使用modelform组件
网页地址:http://dzwzjz.com/article/pcpcdo.html
在线咨询
服务热线
服务热线:028-86922220
TOP