首頁常見問題正文

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

更新時間:2024-01-11 來源:黑馬程序員 瀏覽量:

IT培訓(xùn)班

  Django提供了一個工廠函數(shù)modelform_factory(),該函數(shù)定義在django.forms模塊中,它接收一個模型類和參數(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ù)會很方便。modelform_factory()函數(shù)也可以用來對已有表單進行簡單的修改,例如指定某個字段使用的控件,示例如下:

from django.forms import Textarea
Form = model_factory(Goods,form=GoodForm, widgets={'name':Textarea()})

  本文版權(quán)歸黑馬程序員Python培訓(xùn)學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!

  作者:黑馬程序員Python培訓(xùn)學(xué)院

  首發(fā):https://python.itheima.com

分享到:
在線咨詢 我要報名
和我們在線交談!