首頁(yè)常見(jiàn)問(wèn)題正文

Python Web培訓(xùn):利用工廠函數(shù)定義模型表單類

更新時(shí)間:2024-01-11 來(lái)源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  Django提供了一個(gè)工廠函數(shù)modelform_factory(),該函數(shù)定義在django.forms模塊中,它接收一個(gè)模型類和參數(shù),生成給定模型的ModelForm類。與自定義模型表單類相比,利用工廠函數(shù)創(chuàng)建模型表單類更加便捷。

1704942483092_利用工廠函數(shù)定義模型表單類.jpg

  以模型類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ù)也可以用來(lái)對(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

分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!