from django.forms.forms import Form
from django.forms.fields import CharField
class FunkyForm(Form):
def __init__(self, *args, **kwargs):
super(FunkyForm, self).__init__(*args, **kwargs)
for item in range(5):
self.fields['test_field_%s' % item] = CharField(max_length=255)
以下是我在EuroDjangoCon做的一次演讲的幻灯片,内容正是这样的:http://www.slideshare.net/kingkilr/forms-getting-your-moneys-worth
Django在从model definitions.自动生成表单方面做得很好
第一步可能是创建一个Django模型来镜像现有的数据库。
关于复选框/textfield的内容:
Django在字段和小部件之间有很好的分离。您可能有一个存储数字的IntegerField,但是您可以改变当用户想要编辑数字时显示给用户的小部件。在某些情况下,您可能有一个输入框,在其他情况下有一个文本区域,或者可能有一个下拉列表。字段将处理类型转换和验证等细节,小部件确定表单字段的外观。
某些字段类型具有与之关联的默认小部件,但您可以覆盖它们。
另外,请注意,表单字段与模型字段之间存在差异。
要动态地执行此操作,可以动态地向self.fields SortedDict添加项。一、 E:
将为您提供一个用5个动态生成的字符字段实例化的窗体类。
相关问题 更多 >
编程相关推荐