加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

如何使用web.py动态填充表单中的选择框/下拉框?

发布时间:2020-12-14 19:42:31 所属栏目:资源 来源:网络整理
导读:所有web.py表单示例都采用以下格式(来自webpy.org): 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'),for
所有web.py表单示例都采用以下格式(来自webpy.org):
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)

我不希望在声明表单时填充下拉框(上例中的form.Dropdown)静态,但是在GET / POST方法中使用在调用页面时从数据库表中检索的条目.

我已搜索了几个小时但无法在任何地方找到提示(google,webpy.org,google groups)

解决方法

我建议你创建其他元素和表单,然后在GET / POST中创建你想要的下拉元素,并:
# Create copy of the form
form = myform()

# Append the dropdown to the form elements.
form.inputs = tuple(list(form.inputs) + [mydropdown])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读