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练习程序批量修改文件名
Jan 16 Python
python基础教程之数字处理(math)模块详解
Mar 25 Python
python使用三角迭代计算圆周率PI的方法
Mar 20 Python
利用Python爬取可用的代理IP
Aug 18 Python
Python语言描述最大连续子序列和
Dec 05 Python
python获取命令行输入参数列表的实例代码
Jun 23 Python
使用python采集脚本之家电子书资源并自动下载到本地的实例脚本
Oct 23 Python
python实现简单加密解密机制
Mar 19 Python
Django使用中间件解决前后端同源策略问题
Sep 02 Python
python创建学生管理系统
Nov 22 Python
python3实现绘制二维点图
Dec 04 Python
PyCharm 配置SSH和SFTP连接远程服务器
May 11 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
人大复印资料处理程序_补充篇
2006/10/09 PHP
使用php统计字符串中中英文字符的个数
2013/06/23 PHP
Javascript开发包大全整理
2006/12/22 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
jquery select 设置默认选中的示例代码
2014/02/07 Javascript
推荐9款炫酷的基于jquery的页面特效
2014/12/07 Javascript
Javascript基础知识盲点总结之函数
2016/05/15 Javascript
Vue.js报错Failed to resolve filter问题的解决方法
2016/05/25 Javascript
jQuery中常用动画效果函数(日常整理)
2016/09/17 Javascript
JS中BOM相关知识点总结(必看篇)
2016/11/22 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
vue中用动态组件实现选项卡切换效果
2017/03/25 Javascript
Vue中使用vee-validate表单验证的方法
2018/05/09 Javascript
jQuery阻止事件冒泡实例分析
2018/07/03 jQuery
Python中创建字典的几种方法总结(推荐)
2017/04/27 Python
python逐行读写txt文件的实例讲解
2018/04/03 Python
python 从csv读数据到mysql的实例
2018/06/21 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
搞定这套Python爬虫面试题(面试会so easy)
2019/04/03 Python
python如何读取bin文件并下发串口
2019/07/05 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
使用K.function()调试keras操作
2020/06/17 Python
蔻驰美国官网:COACH美国
2016/08/18 全球购物
Ever New美国:澳大利亚领先的女装时尚品牌
2019/11/28 全球购物
Ashford台湾:以折扣价提供奢华的男女用表款
2019/12/04 全球购物
Yahoo-PHP面试题4
2012/05/05 面试题
实习护理工作自我评价
2013/09/25 职场文书
哈理工毕业生的求职信
2013/12/22 职场文书
小学生安全演讲稿
2014/04/25 职场文书
励志演讲稿200字
2014/08/21 职场文书
群众路线教育实践活动思想汇报(2014特荐篇)
2014/09/16 职场文书
幼儿园父亲节活动总结
2015/02/12 职场文书
入党个人总结范文
2015/03/02 职场文书
爱国主义影片观后感
2015/06/18 职场文书
运动员入场前导词
2015/07/20 职场文书
win11开机发生死循环重启怎么办?win11开机发生死循环重启解决方法
2022/08/05 数码科技