2010-06-20 7 views
1

J'utilise le tutoriel au http://proteus-tech.com/blog/cwt/django-dynamic-form/ pour créer des formulaires dynamiques. Cela fonctionne parfaitement pour créer les formulaires, mais j'aimerais utiliser certaines entrées avec un widget Textarea. Ceci est le code qui fonctionne à partir du tutoriel, sans widgets définis:django formes dynamiques avec des widgets

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() 

J'ai essayé simplement d'ajouter le widget à la form_config:

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

Mais cela me donne un « objet module n'a pas attribut "erreur". Existe-t-il un moyen d'ajouter le widget au formulaire dynamique?

Répondre

2

J'ai trouvé qu'il y avait une bien meilleure façon de le faire en utilisant type(). Voici un excellent tutoriel: http://www.b-list.org/weblog/2008/nov/09/dynamic-forms/

+0

+1 ... J'ai utilisé ce tutoriel lors de l'écriture de code pour générer dynamiquement des formulaires pour une intégration MailChimp. –