Python 如何在web2py的post请求中拥有一组单选按钮

Python 如何在web2py的post请求中拥有一组单选按钮,python,arrays,post,radio-button,web2py,Python,Arrays,Post,Radio Button,Web2py,我有一些类似这样的HTML: <input type="radio" name="radiobutton[0]" value="1"><br> <input type="radio" name="radiobutton[0]" value="2"><br> <input type="radio" name="radiobutton[0]" value="3"><br> <br> <input type="r

我有一些类似这样的HTML:

<input type="radio" name="radiobutton[0]" value="1"><br>
<input type="radio" name="radiobutton[0]" value="2"><br>
<input type="radio" name="radiobutton[0]" value="3"><br>
<br>
<input type="radio" name="radiobutton[1]" value="1"><br>
<input type="radio" name="radiobutton[1]" value="2"><br>
<input type="radio" name="radiobutton[1]" value="3"><br>
<br>
<!-- ......... -->
request.post_vars.radiobutton == [1,2,2]
但是web2py一直给我这样的信息:

<input type="radio" name="radiobutton[0]" value="1"><br>
<input type="radio" name="radiobutton[0]" value="2"><br>
<input type="radio" name="radiobutton[0]" value="3"><br>
<br>
<input type="radio" name="radiobutton[1]" value="1"><br>
<input type="radio" name="radiobutton[1]" value="2"><br>
<input type="radio" name="radiobutton[1]" value="3"><br>
<br>
<!-- ......... -->
request.post_vars.radiobutton == [1,2,2]
请求。post\u VAR
单选按钮[0]:1
单选按钮[1]:2
单选按钮[2]:2

我不能在python代码中直接使用它们
request.post\u vars.radiobutton
返回
None
request.post\u vars.radiobutton[0]
抛出类型错误:
('NoneType'对象没有属性'\u getitem'

name
属性不能是
radiobutton[]
,因为它会使所有按钮成为一个


如何在web2py中使用单选按钮数组?

请求。post_vars
是一个
存储
对象,它是一个类似字典的对象,允许通过属性或标准字典语法进行访问。因此,您可以:

request.post_vars['radiobutton[0]']
或:


我猜你想做的是这样的:

<input type="radio" name="radiobutton[0]" value="1"><br>
<input type="radio" name="radiobutton[0]" value="2"><br>
<input type="radio" name="radiobutton[0]" value="3"><br>
<br>
<input type="radio" name="radiobutton[1]" value="1"><br>
<input type="radio" name="radiobutton[1]" value="2"><br>
<input type="radio" name="radiobutton[1]" value="3"><br>
<br>
<!-- ......... -->
request.post_vars.radiobutton == [1,2,2]
在您的模块中:

def radioArrayExample( name, valuesList ):
    radios = []
    for v in valuesList:
        radios.append( INPUT(_type="radio", _name=name, _value=v) )
    return radios
在控制器中,您可以调用该函数:

import yourModule
def index():
    vals = [1, 2, 3]
    radios = yourModule.radioArrayExample( "exampleChoices", vals )

    return dict(radios = radios)
当您在表单中使用“radios”时,您将能够通过
request.vars.exampleChoices
试试看,我想这就是你想要的