Todos los ejemplos de formularios web.py están en el siguiente formato (de webpy.org):¿Cómo llenar dinámicamente un cuadro de selección/desplegable en un formulario usando web.py?
myform = form.Form(
form.Textbox("boe"),
form.Textbox("bax",
form.notnull,
form.regexp('\d+', 'Must be a digit'),
form.Validator('Must be more than 5', lambda x:int(x)>5)),
form.Textarea('moe'),
form.Checkbox('curly'),
form.Dropdown('french', ['mustard', 'fries', 'wine']))
class index:
def GET(self):
form = myform()
# make sure you create a copy of the form by calling it (line above)
# Otherwise changes will appear globally
return render.formtest(form)
def POST(self):
form = myform()
if not form.validates():
return render.formtest(form)
else:
# form.d.boe and form['boe'].value are equivalent ways of
# extracting the validated arguments from the form.
return "Grrreat success! boe: %s, bax: %s" % (form.d.boe, form['bax'].value)
no quiero llenar el cuadro desplegable (form.Dropdown en el ejemplo anterior) estática cuando se declara la formulario, pero en el método GET/POST utilizando entradas recuperadas de una tabla de base de datos cuando se llama a la página.
He buscado durante un par de horas, pero no puedo encontrar una pista en cualquier lugar (Google, webpy.org, Grupos de Google)
No creo que sea bueno parchar las entradas de formulario en este caso (pero puede ser útil en alguna otra situación). Para este caso en particular, sugiero crear 'Dropdown' con' args = [] 'y luego establecer' args' de dropdown en la copia del formulario. –