python web2py控制器request.vars没有属性(但实际上)

时间:2017-01-04 16:43:21

标签: python web2py

Python 2.7.12

web2py 2.14稳定

- 调用javascript开发的控制器

- 致电控制器。被Chrome检查

GET "http://127.0.0.1:8000/default/FoldBe.html?operation=get&id=%23"

- controller 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,则视图会在浏览器中显示&amp;没有像你期望的那样表明错误。

如果我允许print i.id执行错误:

<type 'exceptions.AttributeError'> 'str' object has no attribute 'id'

是什么给出了?

我在此控制器和其他控制器中有其他方法,这不是问题。

1 个答案:

答案 0 :(得分:1)

您应该按名称访问字典键,因此请尝试vars['id']而不是vars.id