[英]python AttributeError: 'mHID' object has no attribute 'dict'
[英]Python Bottle template issue: AttributeError(“'dict' object has no attribute 'city'”,)
作為一個學習項目,我使用MongoDB with Bottle作為Web服務。 我想要做的是從MongoDB獲取結果並將其顯示在模板中。 這是我想要的模板輸出:
output.tpl
<html><body>
%for record in records:
<li>{{record.city}} {{record.date}}
%end
</body></html>
我可以把數據拉出來沒問題:
result = db.records.find(query).limit(3)
return template('records_template', records=result)
但這導致根本沒有輸出 - 一些調試顯示結果是某種光標:
<pymongo.cursor.Cursor object at 0x1560dd0>
所以我試圖將其轉換為模板所需的內容:
result = db.records.find(query).limit(3)
viewmodel=[]
for row in result:
l = dict()
for column in row:
l[str(column)]=row[column]
viewmodel.append(l)
return template('records_template', records=viewmodel)
調試顯示我的視圖數據看起來沒問題:
[{'_id': ObjectId('4fe3dfbc62933a0338000001'),
'city': u'CityName',
'date': u'Thursday June 21, 2012'},
{'_id': ObjectId('4fe3dfbd62933a0338000088')
'city': u'CityName',
'date': u'Thursday June 21, 2012'},
{'_id': ObjectId('4fe3dfbd62933a0338000089')
'city': u'CityName',
'date': u'Thursday June 21, 2012'}]
但這是我得到的回應。 有什么想法嗎?
AttributeError(“'dict'對象沒有屬性'city'”,)
編輯:我添加了關於l [str(column)] = row [column]的位,以便在出現問題的情況下將字典鍵轉換為非unicode字符串,但它似乎無關緊要。
您需要使用字典語法來查找屬性:
{{record['city']}} {{record['date']}}
result = db.records.find(query).limit(3)
viewmodel=[]
for row in result:
l = dict()
for column in row:
l[str(column)]=row[column]
viewmodel.append(l)
return template('records_template', records=viewmodel)
可歸納為:
result = db.records.find(query).limit(3)
return template('records_template', records=list(result))
Python的美麗......
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.