django之modelform组件(代码片段)

mmyy-blog mmyy-blog     2023-01-25     516

关键词:

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---&gt;Form---&gt;BaseForm自己定义的ModelForm---&gt;ModelForm---&gt;BaseModelForm---&gt;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组合起来,先来一个简单的例子来看一下这个东西怎么用:比如我们的数据库中有这样一张学生表,字段有姓名,年龄,爱好,... 查看详情