Python瓶子模板问题:AttributeError(“dict&”x27;对象没有属性(“city&”)
作为一个学习项目,我正在使用MongoDB和瓶子作为web服务。我想做的是从MongoDB获取结果并在模板中显示它们。以下是我希望从模板中获得的输出:Python瓶子模板问题:AttributeError(“dict&”x27;对象没有属性(“city&”),python,mongodb,bottle,Python,Mongodb,Bottle,作为一个学习项目,我正在使用MongoDB和瓶子作为web服务。我想做的是从MongoDB获取结果并在模板中显示它们。以下是我希望从模板中获得的输出: output.tpl <html><body> %for record in records: <li>{{record.city}} {{record.date}} %end </body></html> 但这导致根本没有输出-一些调试告诉我结果是某种游标: <pymon
output.tpl
<html><body>
%for record in records:
<li>{{record.city}} {{record.date}}
%end
</body></html>
但这导致根本没有输出-一些调试告诉我结果是某种游标:
<pymongo.cursor.Cursor object at 0x1560dd0>
调试显示我的视图数据看起来正常:
[{'_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)
return template('records_template', records=list(result))
Python之美…您是否尝试过使用字典语法?示例:
{{record['city']}{{record['date']}}
要返回到原始结果,是否必须在发送到模板之前将其从游标转换为字典?
{{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))