在平常的web开发中,我们经常需要提交表单。然而在Django中已经为你准备好了表单类。
/forms.py
from django import forms
from form.models import *
#自定义的表单
# class NameForm(forms.Form):
# FirstName = forms.CharField(max_length=20, label = "姓")
# SecondName = forms.CharField(max_length=20,label = "名")
# # choice_list = [] 下拉列表
#结合模型的数据表单
class NameModelForm(forms.ModelForm):
# total_name = forms.CharField(max_length=20, label = "总名称")
class Meta:
model = Name
# fields = '__all__'
#fielfs 设置转换字段
fields = ['firstname','secondname']
# exclude 设置禁用
exclude = []
labels = {
'firstname': '姓',
'secondname': '名'
}
首先from django import forms
表单有两种实现方式,一种是自定义表单,继承forms.Form类,然后自定义表单字段(这个和定义模型挺像的)
#自定义的表单
class NameForm(forms.Form):
FirstName = forms.CharField(max_length=20, label = "姓")
SecondName = forms.CharField(max_length=20,label = "名")
# choice_list = [] 下拉列表
还有一种是使用结合模型的数据表单,他继承了form.ModelForm类,可以自己自动设置需要从模型中转换的字段
#结合模型的数据表单
class NameModelForm(forms.ModelForm):
#自己添加其他字段
# total_name = forms.CharField(max_length=20, label = "总名称")
class Meta:
model = Name
# fields = '__all__'
#fields 设置转换字段
fields = ['firstname','secondname']
# exclude 设置禁用
exclude = []
#设置表单前的label
labels = {
'firstname': '姓',
'secondname': '名'
}
当然如果不嫌烦的话可以在HTML页面中使用硬编码(不建议)