django动态表单与小部件

时间:2010-06-20 21:23:25

标签: django forms dynamic widget

我正在使用http://proteus-tech.com/blog/cwt/django-dynamic-form/上的教程来创建动态表单。它非常适合创建表单,但我想将一些输入与Textarea小部件一起使用。这是本教程中的代码,没有定义任何小部件:

from django import forms
form_config = {'title':'CharField', 'email':'EmailField', 'active':'BooleanField'}
dynamic_form = forms.Form()
for key in form_config.keys():
    dynamic_form.fields.insert(-1, key, getattr(forms, form_config.get(key))())
print dynamic_form.as_table()

我尝试将窗口小部件添加到form_config:

form_config = {'title':'CharField(widget=forms.Textarea)'}

但是这给了我一个“模块对象没有属性”的错误。有没有办法将小部件添加到动态表单?

1 个答案:

答案 0 :(得分:2)

我发现使用type()有更好的方法。这里有一个很棒的教程:http://www.b-list.org/weblog/2008/nov/09/dynamic-forms/