如何从list.tuples下拉并提交值?

时间:2015-03-09 14:55:26

标签: python web2py

<form name="cnf" action="{{=URL('default','dashboard')}}" method="post" onsubmit="return showcnf()" >
    <select name="c_area">
        <option value="">Select Company</option>
        <option value="Headmasters Salon Pvt. Ltd.">Headmasters Salon Pvt. Ltd.</option>
    </select>
    <select name="c_loc">
        <option value="">Select Location</option>
        <option value= 1>Chandigarh</option>
    </select>
    </br>
    <input type="submit" value="go">
</form>

代替我选择我要使用tuple / list。有没有选择呢? 我尝试了一些东西:

def dropdowan():
    list = []
    for row_l in db( (db.tracker.client_manager==auth.user.email)  ).select():
        list.append(row_l.company)

    abc=set(list)
    return dict(form=abc)

我正在从数据库中获取价值。现在我想填写表格。

2 个答案:

答案 0 :(得分:0)

您可以像这样设置表格:

db.define_table('your_table_name',
    Field('select_1', requires=IS_IN_SET(['option_1', 'option2', 'option3'])),
    Field('select_2', requires=IS_IN_SET(['option_1', 'option2', 'option3']))
    Field('another_field', 'text'))

然后你可以使用web2py内置SQLFORM.widgets.options.widget为你做神奇的事。

答案 1 :(得分:0)

你已经做了一些思考。希望它没问题

 def dropdowan():
        list = []
        clist=[]
        for row_l in db( (db.tbl.field==auth.user.email)  ).select():
            list.append(row_l.f1)
            clist.append(row_l.f2)

        abc=set(list)
        city=set(clist)
        form = SQLFORM.factory(Field('select_company', requires =  IS_IN_SET(abc)),Field('select_city', requires =  IS_IN_SET(city)))
        if form.accepts(request,session):
            session.company = form.vars.select_company
            session.loc = form.vars.select_city

            #redirect=dashboard()
            redirect(URL('dasboard'))

        return dict(form1=form)