--On Donnerstag, August 04, 2011 06:57:15 -0700
neurino <neur...@gmail.com> wrote:
[...]
In a Pylons controller I could select which renderer use like this:
def my_view(self):
c.form = Form(request, BasicSchema)
if c.form.validate():
obj = form.bind(MYModel())
if **need more info**:
c.form = Form(AdvancedSchema, obj=obj)
if form.validate():
obj = form.bind(obj)
else:
return render('advanced_form.mako')
**persist obj someway**
redirect(...)
return render('basic_form.mako')
In my Pyramid app I have:
config.add_route('new', '/new')
config.add_view(my_view, route_name='new',
renderer='basic_form.mako')
and in `basic_form.mako` according to a passed value I render the form
one way or another:
%if step == 1:
#render basic form
%else:
#render advanced form
%endif
but it seems a bit ugly and cumbersome to me.
Any advice?
You can implement the same pattern if you return a response object [1] and
don't have to specify the renderer in add_view(). Even if you specify
one it will be skipped if you return a response object, e.g. with
render_to_response().
..Carsten
[1]
<http://docs.pylonsproject.org/projects/pyramid/1.1/narr/templates.html#using-templates-directly>
--
You received this message because you are subscribed to the Google Groups
"pylons-discuss" group.
To post to this group, send email to pylons-discuss@googlegroups.com.
To unsubscribe from this group, send email to
pylons-discuss+unsubscr...@googlegroups.com.
For more options, visit this group at
http://groups.google.com/group/pylons-discuss?hl=en.