我正在尝试学习web.py以获取一个表单,我可以在其中获取响应并在响应函数中执行某些操作,不幸的是,返回的响应采用以下格式:
<Storage {'Domain required': u'wing.com', 'minutes needed': u'1', 'Submit': u''}>
其中,我可以写一些东西来解析,但肯定必须有一些方法来解析它。显然我错过了一些东西。我如何得到我可爱的回应,坐在变量或列表或字典?
提前致谢。
答案 0 :(得分:2)
这是一个简单的示例,显示可以访问存储对象中访问该值的各种方式。
基本上,Storage对象可以被认为是一个奇特的词典。它允许您访问dict之类的值,但您也可以将值作为属性进行访问。
例外情况是变量名称中有空格,例如“需要域”。在这种情况下,您需要使用dict表示法进行访问。
此处还有一个指向Storage类实现的链接(主要内容是它是dict的子类):https://github.com/webpy/webpy/blob/master/web/utils.py#L52
属性访问用法示例:
print response['Domain required']
print response['minutes needed']
print response.Submit
用于循环的示例(就像dict一样):
for k, v in cgi_fields.items():
print k, v
示例web.py类:
class SomePage(object):
def GET(self):
web.header("Content-Type", "text/html")
return """
<html><body>
<form method="POST">
<input type="input" name="Domain required" />
<input type="input" name="example_field" />
<input type="input" name="example_field_2" />
<input type="submit" name="submit"/>
</form>
</body></html>
"""
def POST(self):
cgi_fields = web.input()
return cgi_fields['Domain required'], cgi_fields.example_field, cgi_fields.get('example_field_2')