关键词:
ModelForm组件是django中一个非常强大的组件,其功能主要有
一 校验字段
ModelForm组件的主要格式为:
继承组件
from django import forms class UserModelForm(forms.ModelForm):
指定表
model = models.UserInfo
指定要显示的字段
fields=‘__all__‘ #显示所有,常用的方式
或者
exclude=[‘password‘] #排除某个字段
或者
fields=[‘username‘,‘password‘,‘confirm_password‘,‘email‘,‘gender‘,‘depart‘] #此表中的字段决定了页面显示的排列顺序
插件:指定属性或者设置字段类型
widgets = ‘username‘: forms.TextInput(attrs=‘class‘: ‘form-control‘, ‘placeholder‘: ‘用户名‘), ‘password‘: forms.PasswordInput(attrs=‘class‘: ‘form-control‘, ‘placeholder‘: ‘密码‘), ‘email‘: forms.EmailInput(attrs=‘class‘: ‘form-control‘, ‘placeholder‘: ‘邮箱‘), ‘gender‘: forms.Select(attrs=‘class‘: ‘form-control‘), ‘depart‘: forms.Select(attrs=‘class‘: ‘form-control‘),
定制错误信息
error_messages = ‘email‘: ‘required‘:‘邮箱不能为空‘, ‘invalid‘:‘邮箱格式错误‘,
设置钩子函数
def clean_confirm_password(self): #‘clean_‘加上字段名
当设置了一个字段的钩子函数时,最后必须要返回这个字段
return confirm
在函数中使用
def user_add(request): if request.method == ‘GET‘: form = UserModelForm() #最开始访问的时候是没有数据的 return render(request, ‘user_form.html‘, ‘form‘:form) form = UserModelForm(data=request.POST) #传入数据 if form.is_valid(): #进行校验 print(form.cleaned_data) form.save() return redirect(‘/crm/user/list/‘) return render(request, ‘user_form.html‘, ‘form‘: form)
区分 form.cleaned_data和form. errors
1 ModelForm组件对数据进行校验的时候,对于校验不合格的数据放入 form.errors
2 那么他们到底都长什么样子呢
#print(form.cleaned_data)
‘username‘: ‘lu5‘, ‘password‘: ‘123‘, ‘gender‘: 1, ‘depart‘: <Department: 部门-1>
#print(form.errors) <ul class="errorlist"><li>confirm_password<ul class="errorlist"><li>两次密码输入不一致,请重新输入</li></ul></li><li>email<ul class="errorlist"><li>邮箱格式错误</li></ul></li></ul>
一 校验字段
django框架之modelform组件(代码片段)
浏览目录创建mldelform添加记录编辑记录 Django框架中的modelform组件通过名字我们可以看出来,这个组件的功能就是把model和form组合起来。下面我们来看一个例子:比如我们的数据库中有这样一张学生表,字段有姓名,年龄,爱... 查看详情
django之modelform组件(代码片段)
1ModelForm2a.classMeta:3model,#对应Model的4fields=None,#字段5exclude=None,#排除字段6labels=None,#提示信息7help_texts=None,#帮助提示信息8widgets=None,#自定义插件9error_messages=None,#自定义错误信息(整体错误信息fromdjango.core.exceptionsimportNON_FIELD_ERRO... 查看详情
django之modelform组件(代码片段)
1ModelForm2a.classMeta:3model,#对应Model的4fields=None,#字段5exclude=None,#排除字段6labels=None,#提示信息7help_texts=None,#帮助提示信息8widgets=None,#自定义插件9error_messages=None,#自定义错误信息(整体错误信息fromdjango.core.exceptionsimportNON_FIELD_ERRORS)1... 查看详情
django组件-modelform(代码片段)
ModelForm组件功能就是把model和form组合起来.首先导入ModelFormfromdjango.formsimportModelForm在视图函数中,定义一个类,比如就叫StudentList,这个类要继承ModelForm,在这个类中再写一个原类Meta(规定写法,并注意首字母是大写的)在这个原类中,有... 查看详情
django之modelform(代码片段)
ModelForm: 应用场景: -ModelForm-中小型应用程序。因为ModelForm是依赖于models的 -Form & 查看详情
django之modelform详解(代码片段)
ModelForm是Django中编写基于Model定制表单的方法,可以提高Model复用性。 使用时Django会根据 django.db.models.Field (用于数据库衔接)自动转化为 django.forms.Field (用于表单前端展示、后端验证)。 编辑数据:如果... 查看详情
django之modelform组件
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950ModelForm a. class Meta: &nbs 查看详情
django之modelform(代码片段)
要说ModelForm,那就先说Form吧!先给出一个Form示例:models.pyfromdjango.dbimportmodelsclassUserType(models.Model):caption=models.CharField(max_length=32)classUserGroup(models.Model):name=models.CharField(max_length=32) 查看详情
django之modelform组件
Django之ModelForm组件 ModelForma.classMeta:model,#对应Model的fields=None,#字段exclude=None,#排除字段labels=None,#提示信息help_texts=None,#帮助提示信息widgets=None,#自定义插件error_messages=None,#自定义错误信息(整体错误信息fromdjango.co 查看详情
django之modelform(代码片段)
简介Model+Form==>ModelForm。model和form的结合体,所以有以下功能:验证数据库操作Form回顾models.pyclassUserType(models.Model):caption=models.CharField(max_length=32)classUserInfo(models.Model):username=models.CharField(max_le 查看详情
django之modalform(代码片段)
ModelForm自己定义的form--->Form--->BaseForm自己定义的ModelForm--->ModelForm--->BaseModelForm--->BaseForm从上面可以看出form和ModelForm都是继承BaseForm,所以在Form中有的方法在ModelForm中也是有的,包括is_vali 查看详情
django——form组件和modelform(代码片段)
一、原生form实现书城增删改查1、构建模型并完成数据库迁移(1)构建书城模型fromdjango.dbimportmodels#Createyourmodelshere.#创建一个图书管理系统的模型classBook(models.Model):title=models.CharField(max_length=32)price=models.DecimalField(max_digits=8, 查看详情
django组件-modelform(代码片段)
模型表单ModelForm一、基本用法?123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172fromdjangoimportformsfromdjango.utils.safestringimportmark_safefromdjango.core.exceptionsimportValidationErrorfromrbacimportm... 查看详情
django-组件拾遗(代码片段)
知识预览一Django的form组件二Django的modelform组件三Django的缓存机制四Django的信号五Django的序列化一Django的form组件forms组件二Django的modelform组件这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合... 查看详情
django组件拾忆(代码片段)
知识预览一Django的form组件二Django的modelform组件三Django的缓存机制四Django的信号五Django的序列化回到顶部一Django的form组件回到顶部二Django的modelform组件这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model... 查看详情
django-缓存机制,form组件(代码片段)
知识预览一Django的form组件二Django的modelform组件三Django的缓存机制四Django的信号五Django的序列化回到顶部一Django的form组件回到顶部二Django的modelform组件这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model... 查看详情
django之modelform使用(代码片段)
一:什么是ModelForm呢?Model+Form==>ModelForm。model和form的结合体,所以有以下功能:数据验证数据库操作model有操作数据库的字段,form验证也有那几个字段,虽然耦合度降低,但是代码是有重复的。如果利用model里的字段,那是不... 查看详情
modelform组件(代码片段)
Django的modelform组件这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来,先来一个简单的例子来看一下这个东西怎么用:比如我们的数据库中有这样一张学生表,字段有姓名,年龄,爱好,... 查看详情