Something like this?: def index(): use_recaptcha = True recaptcha_public = "..." recaptcha_private = "..." captcha = lambda f,v: Recaptcha(request, recaptcha_public,recaptcha_private) if use_recaptcha else '' form = SQLFORM.factory(Field('test',requires=IS_NOT_EMPTY()), Field('test2',widget=captcha) ) if form.accepts(request.vars,session): response.flash = "Got it" return dict(form=form)
Or if you don't need it in form.custom you can just insert it into the form: def index(): use_recaptcha = True recaptcha_public = "..." recaptcha_private = "..." captcha = Recaptcha(request, recaptcha_public,recaptcha_private) form = SQLFORM.factory(Field('test',requires=IS_NOT_EMPTY()),Field ('test2')) if use_recaptcha: form[0].insert(-1, TR('', captcha, '')) if form.accepts(request.vars,session): response.flash = "Got it" return dict(form=form) On Nov 21, 8:12 am, Thadeus Burgess <thade...@thadeusb.com> wrote: > And access it through custom form with.. > > {{=form.custom.widget.recaptcha}} > > -Thadeus > > On Sat, Nov 21, 2009 at 8:11 AM, Thadeus Burgess <thade...@thadeusb.com>wrote: > > > Is it possible to append Recaptcha to a SQLFORM, or SQLFORM.factory. > > > This would be ideal. > > > form = SQLFORM(db.table) > > > if somesettings.recaptcha=True > > > form.append(Recaptcha(....)) > > > -Thadeus > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---