orm中使用modelForm添加数据

news/2024/10/4 3:32:28

ModelForm 可以简化表格数据输入的流程,还能对输入的数据进行校验。

1.在views.py中创建ModelForm的类

from django import forms
class UserModelForm(forms.ModelForm):
name = forms.CharField(min_length=3,label='用户名') 这是校验条件,相当于限制了后续输入新的数据时,其中的“name”数据必须是长度最小为3的字符串;如果校验条件什么都不写,就只能判断是否为空
class Meta:
model = models.UserInfo UerInfo是我们想要关联的数据表的名称
fields = ['name','password','age','account','gender','depart'] fields里面是这个数据表中的列名

2.在url.py创建路径后,再去views.py创建同名函数

def user_model_form_add(request):
if request.method =='GET':
form = UserModelForm()
return render(request,'user_model_form_add.html',{'form':form})
用户Post提交数据,数据校验
form = UserModelForm(data=request.POST)
if form.is_valid():
print(form.cleaned_data)
form.save() 自动存储到UserInfo这个数据表内
return redirect('user/list/')
else:
print(form.errors)

3.在templates文件夹中创建同名html文件user_model_form_add.html


这里的fields.label是返回的UserInfo这个模型每个object的verbose_name,在html内写好for循环,以后fields内添加了新的内容也能自动生成

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/44386.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

名称空间,亲和性,pod生命周期,健康检查

一、名称空间 1、切换名称空间 [root@master pod]# kubectl create ns test namespace/test created [root@master pod]# kubectl get ns NAME STATUS AGE default Active 10h kube-node-lease Active 10h kube-public Active 10h kube…

【Maven】IDEA集成Maven

我们要想在IDEA中使用Maven进行项目构建,就需要在IDEA中集成Maven 01 配置Maven环境 1.1. 当前工程设置 1、选择 IDEA中 File => Settings => Build,Execution,Deployment => Build Tools => Maven2、设置IDEA使用本地安装的Maven,并修改配置文件及本地仓…

设计模式-门面模式

门面模式 门面模式(Facade Pattern),又叫外观模式,提供了一个统一的接口,用来访问子系统中的一群接口。其重要特征时定义了一个高层接口,让子系统更容易使用,属于结构型模式 门面模式,静态模式,委派模式门面模式就是特殊的静态代理模式 门面模式重点在于封装,静态代理重…

设计模式-模板方法模式

模板方法模式 模板方法模式(Template Method Pattern),又叫模板模式,是指定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变一个算法的结构即可重新定义该算法的默写特定步骤,属于行为型设计模式。 模板方法的本质是抽象封装流程,该流程由几个步骤…

设计模式-委派模式

委派模式 委派模式(Delegate Pattern)又叫委托模式,它允许对象组合实现与继承相同的代码重用。它的基本作用就是负责任务的调用与分配任务,是一种特殊的静态代理,可以理解为全权代理。但是,代理过程注重过程,而委派模式注重结果。 角色: 抽象任务角色(Task):定义一个抽…

开发者选项-显示指针位置

开发者选项-指针位置应用设置部分搜索对应字串,在SettingsLib中搜到“指针位置”字串,其id名为pointer_location根据id在Settings中搜索布局相关(res/xml/development_settings.xml)查看其key(pointer_location)相关代码显然,在点击指针位置的控件时,在设置中会对应在S…

BootAnimation简析

BootAnimation简析BootAnimation是开机动画,其对应源码在frameworks\base\cmds\bootanimation(这里使用android12的代码查看,不同版本代码有差异,但大体逻辑一般都差别不大),其编译产物是个二进制可执行文件bootanimation,在开机过程中会执行播放开机动画,其目录中有个…

Unreal RecastNavigation 开源项目详解

Recastnavigation是一个游戏AI导航库,像Unity,UE引擎中都集成了这个开源项目, HALO中使用的也是这个开源库。导航最重要的就是为NPC寻路,以及其他的寻路需求。0 前言 Recastnavigation是一个游戏AI导航库,像Unity,UE引擎中都集成了这个开源项目, HALO中使用的也是这个开…