为什么当我使用 sqlform.grid 时,request.vars 会添加一个额外的键"records" null 值?



我的web2py版本是2.14.6

我在myview.html中定义了一个表单

   `<form action="{{=URL('default','sj_xxxx')}}" method='get'>
    <input id='shizhou' name='shizhou'>
    <input id='xianqu' name='xianqu'>
    <input id='xiangzhen' name='xiangzhen'>
    <input type="submit" value="query">
    </form>` 

在我的默认控制器函数'index'中,我想处理请求。从html传递的变量。它工作得很好。然后我将一个form=SQLFORM.grid(query)添加到我的函数中,我发现请求。当执行sqlform.grid()行时,var被添加一个带有空值的附加键"records"。所以我调试源代码,我发现sqlhtml.py中的第2479行是

elif not request.vars.records: request.vars.records = []

在上面的行执行了我的请求之后。Vars添加了一个空值的附加键"records"。我的问题是,

1。我怎样才能防止添加"记录"键到我的request.vars?

2。代码

的目的是什么?

elif not request.vars.records: request.vars.records = []

网格可选地包括一列复选框,允许选择单个记录,当这样做时,所选记录的id存储在request.vars.records(以及request.post_vars.records,因为选择是通过POST请求提交的)。

您可以通过通常的方法删除records键:

del request.vars.records

request.vars.pop('records')

但是,您可以通过request.get_vars访问自定义表单中的变量,因为您的表单是通过GET请求提交的。

最新更新