为什么在我使用 sqlform.grid 时 request.vars 添加了一个具有空值的附加键 "records"?
why request.vars are added an additional key "records" with null value when I used the sqlform.grid?
我的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.It 传递的 request.vars 工作正常。然后我向我的函数添加一个 form=SQLFORM.grid(query)
,我发现 request.vars 在执行 sqlform.grid() 行时添加了一个具有空值的附加键 "records"。所以我调试源代码,我发现 sqlhtml.py 中的第 2479 行是
elif not request.vars.records:
request.vars.records = []
在上述行执行后,我的 request.vars 添加了一个具有空值的附加键 "records"。我的问题是,
1.How 我可以阻止将 "record" 密钥添加到我的 request.vars 吗?
2.What代码的目的
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 请求提交的。
我的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.It 传递的 request.vars 工作正常。然后我向我的函数添加一个 form=SQLFORM.grid(query)
,我发现 request.vars 在执行 sqlform.grid() 行时添加了一个具有空值的附加键 "records"。所以我调试源代码,我发现 sqlhtml.py 中的第 2479 行是
elif not request.vars.records:
request.vars.records = []
在上述行执行后,我的 request.vars 添加了一个具有空值的附加键 "records"。我的问题是,
1.How 我可以阻止将 "record" 密钥添加到我的 request.vars 吗?
2.What代码的目的
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 请求提交的。