更新時(shí)間:2024-01-11 來源:黑馬程序員 瀏覽量:
Django提供了一個(gè)工廠函數(shù)modelform_factory(),該函數(shù)定義在django.forms模塊中,它接收一個(gè)模型類和參數(shù),生成給定模型的ModelForm類。與自定義模型表單類相比,利用工廠函數(shù)創(chuàng)建模型表單類更加便捷。
以模型類Good為例,利用工廠函數(shù)modelform_factory()定義模型表單類的代碼如下:
from django.forms import modelform_factory GoodForm = modelform_factory(Goods, fields=('name','price'))
若表單類的自定義設(shè)置較少,使用modelform_factory()函數(shù)會(huì)很方便。modelform_factory()函數(shù)也可以用來對(duì)已有表單進(jìn)行簡(jiǎn)單的修改,例如指定某個(gè)字段使用的控件,示例如下:
from django.forms import Textarea Form = model_factory(Goods,form=GoodForm, widgets={'name':Textarea()})
本文版權(quán)歸黑馬程序員Python培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請(qǐng)注明作者出處。謝謝!
作者:黑馬程序員Python培訓(xùn)學(xué)院
首發(fā):https://python.itheima.com