1.目的是根据员工表字段,实现一个新增员工的数据填写页面
2.在views.py文件中按下面的格式写
定义 ModelForm
类:UserModelForm (自己命名的类名)使用时需要导入包
定义视图函数:user_model_form_add(在函数中使用form = UserModelForm())
定义了一个 Django ModelForm 类 UserModelForm,用于创建或编辑 UserInfo 模型的实例,表单包含 name、password、age、account、create_time、gender 和 depart 字段。在 __init__ 方法中,为每个字段的 HTML 输入元素动态添加了 class="form-control" 和 placeholder 属性,以便使用 Bootstrap 样式并显示字段标签作为占位符。user_model_form_add 视图函数处理 GET 和 POST 请求:当用户访问页面时(GET 请求),渲染一个空表单;当用户提交表单时(POST 请求),验证表单数据,如果数据有效则保存到数据库并重定向到 /user/list 页面,如果数据无效则打印错误信息(用于调试)。
-
表单定义:通过
ModelForm
快速生成与模型关联的表单,并自定义字段的 HTML 属性。 -
视图处理:处理用户请求,显示空表单或验证并保存提交的数据,最后重定向或返回错误信息。
注意:form.save() 会将数据保存到数据库中,这个数据库就是我们在UserModelForm中定义的model = models.UserInfo,即UserInfo表
from django.shortcuts import render,redirect
from employees import models
from django import forms
class UserModelForm(forms.ModelForm):
class Meta:
model = models.UserInfo
fields = ["name","password","age", "account", "create