# errors = session.pop('_flashes')
# repr(errors)
[('message', [u'Content is empty'])]
当我做:
repr(errors['message'])
我收到了一个错误:
TypeError: list indices must be integers, not str
我究竟做错了什么?
errors = [('message', [u'Content is empty'])]
不是字典。它是一个元组列表。
您可以轻松地将其转换为 dict:
d = dict(errors)
d
现在包含{'message': [u'Content is empty']}
并访问其元素:
d['message']
返回[u'Content is empty']
或直接下到字符串:
d['message'][0]
返回u'Content is empty'
这可能有助于理解正在发生的事情:
>>> errors = [('message', [u'Content is empty'])]
>>> errors[0]
('message', [u'Content is empty'])
>>> errors[0][0]
'message'
>>> errors[0][1]
[u'Content is empty']
>>> errors[0][1][0]
u'Content is empty'