django 表单系统 之 forms.ModelForm
继承forms.ModelForm类实现django的表单系统
有时,我们在前端定义的<form>表单和后端定义的model结构基本上是一样的,那么我们可以直接在后端定义model后,定义一个modelform,实例化,传到前端后用{{ form }}标签直接生成html表单
参考:
http://blog.csdn.net/alex_chen_16/article/details/50830543
https://www.cnblogs.com/sss4/p/7112546.html
官方文档:
http://python.usyiyi.cn/translate/django_182/topics/forms/modelforms.html
1、首先定义好model类:
在models.py文件中:
class autotaggingtaskinfo(models.Model):
taskid=models.IntegerField()#auto tagging task id
username=models.CharField(max_length=200)# not null
picnums=models.IntegerField()# the number of the pictures in the task
priority=models.IntegerField()# the priority of the task (bigger first)
status=models.IntegerField()# the status of the task (0-pause, 1-running, 2-error, 3-finished)
labels=models.CharField(max_length=200)# the labels that will tag on pictures, separated by comma (e.g. "gender,age,position")
remark=models.CharField(null=True,max_length=200)
2、然后继承ModelForm实现表单类:
在form.py文件中:
class AutotaggingFrom(forms.ModelForm):
class Meta: # 内部类名必须为Meta
model=autotaggingtaskinfo #model字段填要用来构造表单的model类的名字
exclude=['username','status'] #exclude字段指定model类中不显示到前端表单中的字段名(也可以用 include字段指定model类中要显示到前端表单中的字段名,include=['taskid','picnums',priority','labels','remark'])
3、然后在view中创建ModelForm实例并传到前端
在views.py中:
@login_required
def taggingView(request):
form = AutotaggingFrom(request.POST or None) # 创建ModelForm实例
if (form.is_valid()):#如果是POST请求提交上来的有内容的表单,则将表单内容存入数据库
form.save()
return render(request, 'auto_tagging.html',locals()) # 将form对象传到前端显示表单
4、在前端html中用{{ form }}调用表单
auto_tagging.html中:
<form align="center">
{{ form.as_p }}
<input type="submit" value="tijiao">
</form>
form.as_p表示以p标签形式显示表单(还可以用form.as_table等)

django 表单系统 之 forms.ModelForm的更多相关文章
- django 表单系统 之 forms.Form
继承forms.Form实现django表单系统 参考: https://www.cnblogs.com/zongfa/p/7709639.html https://www.cnblogs.com/c ...
- python3之Django表单(一)
1.HTML中的表单 在HTML种,表单是在<form>...</form>种的元素,它允许用户输入文本,选择选项,操作对象等,然后发送这些数据到服务器 表单元素允许用户在表单 ...
- 9:django 表单
django自带表单系统,这个表单系统不仅可以定义属性名,还可以自己定义验证,更有自己自带的错误提示系统 这节我们仅仅粗略的来看一下django表单系统的入门运用(具体的实在太多东西,主要是我觉得有很 ...
- 第四章:Django表单 - 5:模型表单ModelForm
如果你正在构建一个数据库驱动的应用,那么你可能会有与Django的模型紧密映射的表单.比如,你有个BlogComment模型,并且你还想创建一个表单让大家提交评论到这个模型中.在这种情况下,写一个fo ...
- 关于创建Django表单Forms继承BaseForm的问题
在创建Django表单时,因为需要验证用户输入的验证码是否正确,因此需要在session里提取当前验证码的值和POST提交过来的值进行比对,如图: form.py from django import ...
- Django表单介绍
HTML 表单 在HTML中,表单是<form>...</form> 之间元素的集合,它们允许访问者输入文本.选择选项.操作对象和控制等等,然后将信息发送回服务器. 某些表单的 ...
- django 表单使用
Django提供对表单处理的支持,可以简化并自动化大部分的表单处理工作. 1 定义表单类 表单系统的核心部分是Django 的Form类. Django 的数据库模型描述一个对象的逻辑结构.行为以及展 ...
- python 全栈开发,Day111(客户管理之 编辑权限(二),Django表单集合Formset,ORM之limit_choices_to,构造家族结构)
昨日内容回顾 1. 权限系统的流程? 2. 权限的表有几个? 3. 技术点 中间件 session orm - 去重 - 去空 inclusion_tag filter 有序字典 settings配置 ...
- 第四章:Django表单 - 1:使用表单
假设你想从表单接收用户名数据,一般情况下,你需要在HTML中手动编写一个如下的表单元素: <form action="/your-name/" method="po ...
随机推荐
- JPA(二):EntityManager
上述我们知道什么是JPA了,接下来这篇文章就主要为大家介绍JPA的一个重要内容:EntityManager.不论什么对实体的操作都是通过它来完毕的. 先来说说什么是EntityManager.顾名思义 ...
- 3. Digit Counts【medium】
Count the number of k's between 0 and n. k can be 0 - 9. Example if n = 12, k = 1 in [0, 1, 2, 3, ...
- Go快速入门
整理一些Go最基本的语法,旨在快速入门. 最简单的hello world package main import "fmt" func main() { fmt.Println(& ...
- DMA—直接存储区访问
本章参考资料:< STM32F4xx 中文参考手册> DMA 控制器章节.学习本章时,配合< STM32F4xx 中文参考手册> DMA 控制器章节一起阅读,效果会更佳,特别是 ...
- hadoop集群的配置文件
export JAVA_HOME=/home/hadoop/apps/jdk1..0_131 1.hadoop-env.sh中配置JAVA_HOME export HADOOP_YARN_USER=/ ...
- Unity—JsonFx序列化场景
场景数据类: /// <summary> /// 关卡数据 /// </summary> public class LevelData { //关卡名称 pub ...
- C#关键字之Partial详解
Partial是局部类型的标志.局部类型可以实现将一个类.结构或接口分成几个部分,分别放在在几个不同的.cs文件中(当然也可以放在同一个.cs文件中).在程序进行编译之后,将会合并成一个完整的类.因此 ...
- iOS学习笔记10 - Bundle和Info.plist
经常会有需要从应用中搜索并读取一个文件或图片.这时候就会用到如下的语句: NSString *path = [[NSBundle mainBundle] pathForResource:@" ...
- 你是怎么理解java的泛型的?
解答: 在Java SE 1.5之前,没有泛型的情况的下,通过对类型Object的引用来实现参数的“任意化”,“任意化”带来的缺点是要做显式的强制类型转换,而这种转换是要求开发者对实际参数类型可以预知 ...
- Hourrank 21 Tree Isomorphism 树hash
https://www.hackerrank.com/contests/hourrank-21/challenges/tree-isomorphism 题目大意: 给出一棵树, 求有多少本质不同的子树 ...