Django ModelForm修改默认的控件属性
2017-4-9
| 2023-7-17
0  |  0 分钟
type
status
date
slug
summary
tags
category
icon
password
Django 中利用ModelForm 可以快速地利用数据库对应的Model 子类来自动创建对应表单.
例如:
但这样默认创建的表单是很丑的, 一般需要重写字段的控件属性, 来加入各种效果. 总结下我常用的两种.

修改Meta的widgets属性

在Django手册的ModelForm一章中, 提供了这种方式, Book 的name 属性为CharField 如果希望它表示成一个<textarea> 而不是默认的<input type="text"> 时, 可以按如下方式覆盖字段默认的Widget:
这种方式可以指定控件的类型及其对应的属性, 不过大部分时候, 默认的控件类型已经够用了, 只需要修改控件的属性. 可以采取另外一种更方便的方法.

重写__init__方法

通过通过重写__init__ 方法, 遍历base_fields字段, 来快速修改控件的属性.
Django
配置程序成为Linux服务Django的设计模式
目录