orm中使用modelForm添加数据
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内添加了新的内容也能自动生成