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 相关文章推荐
在Django框架中伪造捕捉到的URLconf值的方法
Jul 18 Python
Python处理文本文件中控制字符的方法
Feb 07 Python
详解Python nose单元测试框架的安装与使用
Dec 20 Python
Python编程scoketServer实现多线程同步实例代码
Jan 29 Python
用Pycharm实现鼠标滚轮控制字体大小的方法
Jan 15 Python
Python3实现的回文数判断及罗马数字转整数算法示例
Mar 27 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
Jun 19 Python
Python箱型图绘制与特征值获取过程解析
Oct 22 Python
python deque模块简单使用代码实例
Mar 12 Python
python实现简单俄罗斯方块
Mar 13 Python
如何用python写个模板引擎
Jan 14 Python
python脚本框架webpy的url映射详解
Nov 20 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中有关字符串的4个函数substr、strrchr、strstr、ereg介绍和使用例子
2014/04/24 PHP
win10环境PHP 7 安装配置【教程】
2016/05/09 PHP
PHP面向对象之里氏替换原则简单示例
2018/04/08 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
JavaScript 对象链式操作测试代码
2010/04/25 Javascript
基于jQuery的输入框在光标位置插入内容, 并选中
2011/10/29 Javascript
jquery 日期控件datepicker属性详细解析
2013/11/08 Javascript
基于jQuery实现搜索关键字自动匹配功能
2020/03/26 Javascript
JavaScript必知必会(六) delete in instanceof
2016/06/08 Javascript
mvc中form表单提交的三种方式(推荐)
2016/08/10 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
js运算符的一些特殊用法
2018/07/29 Javascript
微信小程序实现获取准确的腾讯定位地址功能示例
2019/03/27 Javascript
vue框架下部署上线后刷新报404问题的解决方案(推荐)
2019/04/03 Javascript
vant实现购物车功能
2020/06/29 Javascript
解决vue里a标签值解析变量,跳转页面,前面加默认域名端口的问题
2020/07/22 Javascript
[38:23]完美世界DOTA2联赛循环赛 FTD vs PXG BO2第二场 11.01
2020/11/02 DOTA
Python科学画图代码分享
2017/11/29 Python
Python对象与引用的介绍
2019/01/24 Python
python实现猜拳小游戏
2020/04/05 Python
python实现XML解析的方法解析
2019/11/16 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
廉价航班、机票和酒店:JustFly
2018/02/07 全球购物
高中微机老师自我鉴定
2014/02/16 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
《狼和小羊》教学反思
2014/04/20 职场文书
二年级小学生评语
2014/04/21 职场文书
驾驶员培训方案
2014/05/01 职场文书
三好生演讲稿
2014/09/12 职场文书
城市轨道交通工程职业生涯规划书范文
2014/09/16 职场文书
琅琊山导游词
2015/02/05 职场文书
校运会宣传稿大全
2015/07/23 职场文书
我的生日感言
2015/08/03 职场文书
《实心球》教学反思
2016/02/23 职场文书