我的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传递的request.vars。它工作正常。然后我在我的函数中添加form=SQLFORM.grid(query)
,我发现当执行sqlform.grid()行时,request.vars会添加一个带有空值的附加键“records”。所以我调试了源代码,我发现sqlhtml.py中的第2479行是
elif not request.vars.records:
request.vars.records = []
在上述行之后,我的request.vars被添加了一个带有空值的附加键“记录”。我的问题是,
1.如何防止在我的request.vars中添加“记录”键?
2.代码的目的是什么
elif not request.vars.records:
request.vars.records = []
答案 0 :(得分:0)
网格可选地包含一列复选框,以允许选择单个记录,完成后,所选记录的ID将存储在request.vars.records
(以及request.post_vars.records
中,如同选择是通过POST请求提交的。)
您可以通过常规方式删除records
密钥:
del request.vars.records
或
request.vars.pop('records')
但是,您可以通过request.get_vars
访问自定义表单中的变量,而不是这样做,因为您的表单是通过GET请求提交的。