Django中modelform组件实例用法总结


Posted in Python onFebruary 10, 2020

modelform是model衍生出来的form .

modelform的用法非常死.

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

Django中modelform组件实例用法总结

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

Django中modelform组件实例用法总结

创建modelfrom

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

Django中modelform组件实例用法总结

所有字段都生成form组件.

fields="__all__"   

username和password字段生成form组件.

fields=['username','password'] 

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

exclude=['gender'] 

Django中modelform组件实例用法总结

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

添加数据

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

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

Django中modelform组件实例用法总结

编辑数据get请求.

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

Django中modelform组件实例用法总结

编辑数据post请求.

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

Django中modelform组件实例用法总结

知识点扩展

创建类

from django.forms import ModelForm
from django.forms import widgets as wd
from app01 import models
class 类名(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组件(详解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python模拟登陆阿里妈妈生成商品推广链接
Apr 03 Python
跟老齐学Python之编写类之三子类
Oct 11 Python
python实现查找excel里某一列重复数据并且剔除后打印的方法
May 26 Python
python监控linux内存并写入mongodb(推荐)
Sep 11 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
Jan 15 Python
python简单鼠标自动点击某区域的实例
Jun 25 Python
python之生产者消费者模型实现详解
Jul 27 Python
Python3.7 基于 pycryptodome 的AES加密解密、RSA加密解密、加签验签
Dec 04 Python
Numpy中np.max的用法及np.maximum区别
Nov 27 Python
Python GUI库Tkiner使用方法代码示例
Nov 27 Python
完美解决Pycharm中matplotlib画图中文乱码问题
Jan 11 Python
常用的Python代码调试工具总结
Jun 23 Python
python爬虫库scrapy简单使用实例详解
Feb 10 #Python
tensorflow 实现从checkpoint中获取graph信息
Feb 10 #Python
Python3 集合set入门基础
Feb 10 #Python
Django的CVB实例详解
Feb 10 #Python
TensorFlow实现checkpoint文件转换为pb文件
Feb 10 #Python
Django关于admin的使用技巧和知识点
Feb 10 #Python
Python实现括号匹配方法详解
Feb 10 #Python
You might like
PHP 和 MySQL 基础教程(一)
2006/10/09 PHP
用PHP和ACCESS写聊天室(三)
2006/10/09 PHP
php基础教程
2015/08/26 PHP
jquery 跨域访问问题解决方法(笔记)
2011/06/08 Javascript
使用jquery读取html5 localstorage的值的方法
2013/01/04 Javascript
jquery和javascript中如何将一元素的内容赋给另一元素
2014/01/09 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
Javascript中的return作用及javascript return关键字用法详解
2015/11/05 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
js数组操作方法总结(必看篇)
2016/11/22 Javascript
详解js的事件代理(委托)
2016/12/22 Javascript
JS如何生成一个不重复的ID的函数
2016/12/25 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
zTree树形插件异步加载方法详解
2017/06/14 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
使用jquery实现轮播图效果
2021/01/02 jQuery
Python实现的Kmeans++算法实例
2014/04/26 Python
python集合用法实例分析
2015/05/30 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
python向已存在的excel中新增表,不覆盖原数据的实例
2018/05/02 Python
Python堆排序原理与实现方法详解
2018/05/11 Python
python可视化实现代码
2019/01/15 Python
Python+pyplot绘制带文本标注的柱状图方法
2019/07/08 Python
解决Python中回文数和质数的问题
2019/11/24 Python
伯利陶器:Burleigh Pottery
2018/01/03 全球购物
康帕斯酒店预订:Compass Hospitality(支持中文)
2018/08/23 全球购物
lululemon美国官网:瑜伽服+跑步装备
2018/11/16 全球购物
几个Shell Script面试题
2012/08/31 面试题
什么是Web Service?
2012/07/25 面试题
自我评价个人范文
2013/12/16 职场文书
职业生涯规划怎么写
2013/12/29 职场文书
项目合作协议书
2014/04/16 职场文书
二年级学生评语大全
2014/04/23 职场文书
综治工作心得体会
2014/09/11 职场文书
公务员上班玩游戏检讨书
2014/09/17 职场文书
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android