0
我好奇爲什麼會發生這種情況。用真子模板來遍歷一個元組IM,一個包含若干個字典數的,那又包含鏈接信息:蟒蛇 - 單項元組拋出for語句的異常
links = (
{
'path' : request.route_url('home'),
'text' : 'Home'
},
{
'path' : "http://www.microsoft.com",
'text' : "Microsoft"
}
)
如果我發送上面的觀點,一切正常,該鏈接顯示。如果我刪除但是第二個鏈接:
links = (
{
'path' : request.route_url('home'),
'text' : 'Home'
}
)
我得到一個異常:TypeError: string indices must be integers, not str
,如果我把一個逗號字典結束後,事情開始工作。任何人都可以解釋發生了什麼?
編輯 Mako的模板片斷
<nav>
% for link in links:
<a href="${link['path']}">${link['text']}</a>
% endfor
</nav>
你能展示Mako模板的外觀嗎?如何寫出迭代代碼? –
@jochenritzel釘了它。儘管如此,你也可以明確地使用'tuple()'內建來避免隱含的語法怪癖。 http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences –