for name, field in self.fields.items(): field.widget.attrs = {"class": "form-control"}
将其示例对象传到 Template 中, 并快速实现 Form 的生成
form = UserModelForm() return render(request, 'OA/user_add.html', {'form': form})
通过 label 获取 model 中 verbose_name 属性
直接渲染将会渲染出等价的 Form
通过 errors 可以获取错误信息
1 2 3 4 5 6 7
{% for field in form %} <divclass="form-group"> <labelfor="depart_title"> {{ field.label }} </label> {{ field }} <spanstyle="color: red;"> {{ field.errors.0 }} </span> </div> {% endfor %}
POST 传递后可以直接通过 ModelForm 类进行实例化, 并进自动行有效性检查, 根据检查结果进行处理
1 2 3 4 5 6 7
form = UserModelForm(data=request.POST) if form.is_valid(): form.save() return redirect("OA:user_list") else: # 自带错误信息 return render(request, 'OA/user_add.html', {'form': form})