In __init__, where you call form.Form's __init__, you need to pass
data, *not* None. Also, you shouldn't try to duplicate all of the
arguments. This should work better:
def __init__(self, cat_slug, data=None, *args, **kwargs):
forms.Form.__init__(self, data=data, *args, **kwargs)
Also, I'm not sure if you modified your view, but you have to pass
request.POST when you instantiate the form in order for that to
actually work.
-Jeff
On Jul 16, 6:01 am, Srik <[EMAIL PROTECTED]> wrote:
> Hi Jeff,
>
> I did try to move __init__ but the problem still exists.
>
> I tried to keep title and email along with other fields so that they
> will be appear in same order in Form.
>
> class MyForm(forms.Form):
>
> def __init__(self, cat_slug, data=None, files=None, auto_id='id_%s',
> prefix=None, initial=None, error_class=ErrorList, label_suffix=':'):
> forms.Form.__init__(self,data=None, files=None,
> auto_id='id_%s',
> prefix=None, initial=None, error_class=ErrorList, label_suffix=':') #
> Took those extra fileds from BaseForm class.
> cat = Category.objects.get(slug=cat_slug)
> self.fields['title'] = forms.CharField(max_length=50)
> self.fields['email'] = forms.EmailField()
> if cat.attributes.all():
> for i in cat.attributes.all():
> self.fields[i.name] =
> forms.CharField(label=i.name)
>
> Regards,
> Srikanth
>
> On Jul 15, 7:14 pm, Jeff FW <[EMAIL PROTECTED]> wrote:
>
> > You have to pass the data into the form when instantiating it, eg:
> > form = MyForm(request.POST)
>
> > However, that means (for your example), the fields wouldn't exist yet--
> > move them into __init__ instead.
>
> > Some other things to note: you don't need to "title" and "email" to
> > the form dynamically--might as well put them in the MyForm class
> > definition. Unless you're planning to upload files, you don't need
> > the enctype attribute in the form tag.
>
> > -Jeff
>
> > On Jul 15, 9:54 am, Srik <[EMAIL PROTECTED]> wrote:
>
> > > Hi Djangoers,
>
> > > I'm trying to generate a form dynamically using MyForm (Form class),
> > > but I'm stuck with validating or populating data.
>
> > > Form Class, View and template Code here:http://dpaste.com/65080/(not
> > > too many lines I guess :) )
>
> > > Good thing is I can see form (generating dynamically, based on the
> > > category I chose as expected), but I'm not able to do anything after
> > > that .
>
> > > When I submit form with empty values, its returning empty form no
> > > matter I enter data or not and also it won't throw any errors(like
> > > field required)
>
> > > Thanks,
> > > Srikanth
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---