Friends,
I don't know if my solution is the best way to solve, but...follow
my GAEForm implementation class:
###### gae_form.py
from web.form import *
import logging
from google.appengine.ext import db
def attrget(obj, attr, value=None):
if isinstance(obj,db.Model):
try:
if attr == 'key':
return obj.key()
gae_attribute = getattr(obj,attr)
if isinstance(gae_attribute,db.Model):
id_reference = gae_attribute.key().id()
return id_reference
else:
return gae_attribute
except Exception, ex:
logging.debug(ex)
else:
if hasattr(obj, 'has_key') and obj.has_key(attr): return
obj[attr]
if hasattr(obj, attr): return getattr(obj, attr)
return value
class GAEForm(Form):
pass
###### forms.py My forms declaration form file.
import gae_form as form
import data
def getPostForm():
category_list = data.all_categories()
category_options = [(row.key().id(), row.title) for row in
category_list]
post_form = form.Form(
form.Hidden('key'),
form.Dropdown('category', category_options),
form.Textbox('title'),
form.Textarea('body'),
form.Dropdown('language', [('pt', 'Portuguese'), ('en',
'English')]),
form.Button('Submit!')
)
return post_form
Now is running ok. If someone has a better suggestion, please, I'm
open to opinions and other solutions.
Really, the web.py is simple, elegant and a efficient solution for web
development in python.
Thanks for all help.
-- Leandro.
--
You received this message because you are subscribed to the Google Groups
"web.py" 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/webpy?hl=en.