Thanks...I was thinking along those lines, but wasn't sure if I wanted
the overhead.  It turns out, the forms may be more stable than I
planned, so I might be able to generate them once from the database,
and simply re-use them.

On Oct 29, 2:40 am, "Diez B. Roggisch" <[EMAIL PROTECTED]> wrote:
> On Monday 29 October 2007 04:18:51 jthibeaux wrote:
>
>
>
> > I am fairly new to Turbo Gears, and am trying to work out how best to
> > deal with a form that is generating according to values in a database
> > -- i.e. I do not know what fields will be there until the a database
> > query is performed, and the types of fields may vary as well.
>
> > In the examples I have seen, it appears that the field set for forms
> > is established early on, and typically only the values are set at
> > render time.  More importantly, when considering validation, it seems
> > that all the member_widgets and form fields are set at the class
> > level, so the form validation process seems dependent on having the
> > member_widgets set up front.
>
> > Granted, I am sure there are lots of ways to solve this problem, but
> > what I am trying to gather is what way would still leverage the form
> > validation/widget handling that turbo gears offers.  Is there a
> > typical way to approach this problem? Have I missed something simple
> > that makes this easy?
>
> Most of the times, the static approach TG usually takes is preferable because
> you lose the overhead of widget instantiation.
>
> But it's perfectly legal & possible to move the form-building code into your
> controller method and thus return a dynamically build form.
>
> The only "issue" there is the validation. If you are ok with a session-based
> approach, you could
>
>  - create a dynamic form in a controller
>
>  - stick it in the session
>
>  - return & render it
>
>  - in your action-method, define the @validate-decorator as this:
>
> @validate(form=get_form_from_session)
>
> where get_form_from_session looks like this:
>
> def get_form_from_session(*args): # don't know if it get's any, see for
> yourself
>      return cherrypy.session['my_form_key']
>
> Then everything should work as "in the book".
>
> Diez


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to