django带窗口小部件的动态窗体

问题描述:

我正在使用教程http://proteus-tech.com/blog/cwt/django-dynamic-form/来创建动态窗体。它适用于创建表单,但我想使用一些Textarea小部件的输入。这是从教程使用的代码,没有任何部件定义:django带窗口小部件的动态窗体

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)'} 

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

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

+0

+1 ...我在编写一些代码来动态生成MailChimp集成表单时使用了这个非常教程。 – 2011-09-26 04:08:17