python web2py 控制器 request.vars 没有属性(但实际上有)
python web2py controller request.vars doesn't have attribute (but actually does)
Python 2.7.12
web2py 2.14 稳定版
--调用javascript
开发的控制器
--调用控制器。由 Chrome inspect
捕获
GET "http://127.0.0.1:8000/default/FoldBe.html?operation=get&id=%23"
--控制器default.py
FoldBe():
vars = dict(request.vars)
print type(vars)
#<type 'dict'>
print vars
#{'operation': 'get', 'id': '#'}
for i in vars:
print i
#operation
#id
#print i.id
print vars.id
#ERRORS!!! stating. What gives?
#<type 'exceptions.AttributeError'> 'dict' object has no attribute 'id'
但是 'vars' 字典显然是一个 'dict' 并且显然有一个 'id' 属性
如果我注释掉 print vars.id
视图在浏览器中呈现并且没有如您预期的那样指示错误。
如果我允许print i.id
执行错误是:
<type 'exceptions.AttributeError'> 'str' object has no attribute 'id'
什么给了?
我在这个控制器和其他控制器中有其他方法,这不是问题。
您应该按名称访问字典键,因此请尝试 vars['id']
而不是 vars.id
。
Python 2.7.12
web2py 2.14 稳定版
--调用javascript
开发的控制器--调用控制器。由 Chrome inspect
捕获GET "http://127.0.0.1:8000/default/FoldBe.html?operation=get&id=%23"
--控制器default.py
FoldBe():
vars = dict(request.vars)
print type(vars)
#<type 'dict'>
print vars
#{'operation': 'get', 'id': '#'}
for i in vars:
print i
#operation
#id
#print i.id
print vars.id
#ERRORS!!! stating. What gives?
#<type 'exceptions.AttributeError'> 'dict' object has no attribute 'id'
但是 'vars' 字典显然是一个 'dict' 并且显然有一个 'id' 属性
如果我注释掉 print vars.id
视图在浏览器中呈现并且没有如您预期的那样指示错误。
如果我允许print i.id
执行错误是:
<type 'exceptions.AttributeError'> 'str' object has no attribute 'id'
什么给了?
我在这个控制器和其他控制器中有其他方法,这不是问题。
您应该按名称访问字典键,因此请尝试 vars['id']
而不是 vars.id
。