django 【form表单】
#########################根据类来生成表单################# ''' django form类 通模型类的属性映射到数据库的字段一样,表单类的字段会映射到HTML的<input>表单元素 ModelForm通过一个Form映射模型类的字段到HTML表单的<input>元素 Form表单功能 1、自动生成HTML表单元素 2、检查表单数据的合法性 3、如果验证错误,重新显示表单(数据不会重置) Form相关的对象 widget: 用来渲染成HTML元素的工具 field: form对象中的一个字段 form: 一系列的field对象集合,验证和显示HTML元素 from media : 渲染表单的css和javascript资源 定义Form有两种方式: 参见此项目中的testform 方式一: 直接继承Form from django import forms class CustormForm(forms.Form): name = forms.CharField(max_length=64) qq = forms.CharField(max_length=64) def customerform(request): return render(request,'testform/testform.html',{'form':CustormForm}) 方法二:结合model,继承django.forms.ModelForm from django.forms import ModelForm from crm import models class CustomerForm(ModelForm): class Meta: model = models.Customer fields = '__all__' def customerform(request): return render(request, 'testform/testform.html', {'form': CustomerForm}) 前端渲染 <form method="POST"> {% for field in form %} {{ field.name }} {{ field }} {% endfor %} </form> 后端验证 form = CustomerForm(request.POST) if form.is_valid(): #查看验证是否通过 field属性 {{ field }} field.lable field.lable_tag field.value field.errors 另外 form_obj '''