21 forms组件-参数initial&instance应用

2023-03-10,,

简单来讲:

如果你想传入前端的页面中附带值,那么在实例化forms中:

form = SecondModelForm(data=request.POST, instance=permission_obj)
return render(request, 'rbac/change.html', {'form': form})

参数,会把所有的值都会传入到form中

如果你想传入前端的页面中附带某一个值,那么在实例化forms中:

form = SecondModelForm(initial={"字段名": 值})
return render(request, 'rbac/change.html', {'form': form})

如果在保存数据库中,需要默认传入一个值,那么form.save()之前做:

second_menu_obj = models.Permission.objects.filter(id=second_menu_id).first()
if not second_menu_obj:
return HttpResponse("二级菜单不存在") form.instance.pid = second_menu_obj
form.save()

如果想在编辑过程中,更新某一个字段,需要:

queryset = models.Level.objects.filter(id=pk, active=1).first()
form = LevelModelForm(data=request.POST, instance=queryset)
if not form.is_valid():
return render(request, 'form.html', {'form': form}) form.save()

21 forms组件-参数initial&instance应用的相关教程结束。

《21 forms组件-参数initial&instance应用.doc》

下载本文的Word格式文档,以方便收藏与打印。