le 08.02.2009 18:21 Michel Albert a écrit:
> Hi all,
>
[...]
> Am I doing something wrong?
>
yes...
option can be a callable so your "dynamic" form could be defined like that :
def get_options():
return [
(x, `x`) for x in range(10)
]
dynamic_form = widgets.TableForm(
fields = [
widgets.CheckBoxList(
name="tags",
label=_('Tags'),
options=get_options),
widgets.TextField(name='number', label=_('Number'),
default=1, validator=validators.Number()),
widgets.TextField(name='title', label=_('Title'),
validator=validators.String()),
],
name='newForm',
submit_text=_('Save')
)
and then
@expose( template="testfoo.templates.new" )
def new(self, tg_errors=None):
return dict( form=dynamic_form, action="save" )
@validate(dynamic_form)
@error_handler( new )
@expose()
def save(self, **kwargs):
return dict( locals=`locals()` )
If your options come from a database and can change between 2 calls you
can also pass the options at render time
@expose( template="testfoo.templates.new" )
def new(self, tg_errors=None):
return dict( form=self.dynamic_form, action="save" ,
options=dict(tags=get_options())
and pass these options to your template
${form.display(action=action, options=options)}
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"TurboGears" 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/turbogears?hl=en
-~----------~----~----~----~------~----~------~--~---