modelform是form组件的一种,比Form更加方便
定义modelform类
from django import forms
class RegForm(forms.modelform):
class Meta:
model = models.表名
field = [] #指定字段
field = "__all__" #全部字段
exclude = [] #排除某些字段
labels = {} #修改字段显示的名称,只能修改model中的字段,不能修改RegForm中新建的字段
widgets = {
"数据库中字段名":forms.字段(attrs={})
} #修改插件
error_messages = {
"数据库中字段名":{
"required":"..."
}
} #修改错误信息
使用:
def edit(request,edit_id):
obj = models.Customer.objects.filter(pk=edit_id).first()
form_obj = RegForm(instance=obj)
if request.method == "POST":
form_obj = RegForm(request.POST,instance=obj)
if form_obj.is_valid():
form_obj.save()
return redirect(reverse("customer_list"))
return render(request,"customer_edit.html",{"form_obj":form_obj})