True, but you gotta learn to walk before you run ;)
On Dec 1, 9:48 pm, "mr.freeze" <nat...@freezable.com> wrote: > I would personally use a computed field for this: > > Model: > def count_words(txt): > ... > return count > > def get_type(txt): > count = count_words(txt) > if count < 10: return 'small' > if count < 20: return 'medium' > if count < 30: return 'large' > return 'huge' > > db.define_table('moment', > Field('textarea','text'), > Field('txttype', readable=False, writable=False, > compute=lambda r: get_type(r['textarea'])), > ... > ) > > Controller: > def submit_moment(): > form = crud.create(db.moment) > return dict(form=form) > > On Dec 1, 8:09 pm, DenesL <denes1...@yahoo.ca> wrote: > > > your_model.py: > > > db.define_table('moment', > > Field('textarea','text'), > > Field('txttype', readable=False, writable=False), > > ... > > ) > > > default.py: > > > def moment_type(form): > > form.vars.txttype=... > > > def submit_moment(): > > form=SQLFORM(db.moment) > > if form accepts(request.vars, session, onvalidation=moment_type): > > response.flash = 'form accepted' > > elif form.errors: > > ... > > return dict(form=form, ...) > > > views/default/submit_moment.html: > > > {{extend 'layout.html'}} > > {{=form}} > > > On Dec 1, 11:47 am, hswolff <hswo...@gmail.com> wrote: > > > > I'll try the model implementation. I need to be able to parse the > > > submit content and count the frequency a word appears and set the type > > > accordingly. > > > > I'm using response.moment_form because when I had it in the index() > > > function and I would go to the user page it wouldn't render because > > > the dict wouldn't return the form that was displayed on views/ > > > layout.html. > > > > Correct me if I'm wrong: if I were to make a submit_moment(): > > > function and a views/default/submit_moment.html view I would be able > > > to include the view on every page and have it be functionally > > > accurate, right? > > > > I'm still getting the hang of web2py's MVC. > >