我在变色龙中使用金字塔,我试图将一个类添加到一个依赖于页码的链接中,并使用tal:condition。当我将page_number替换为字符串时,它正在工作,但下面的代码不起作用。因此,page_number出现了问题。如能提供任何帮助,将不胜感激。
<div tal:repeat="page_number range(pages['min'],(pages['max']+1))">
<a tal:condition="request.matchdict['page_number'] is page_number"
href="${request.route_url('results', page_number=page_number, searchQuery=request.matchdict['searchQuery'])}"
class="page-nav-link">${page_number}
</a>
<a tal:condition="request.matchdict['page_number'] is not page_number"
href="${request.route_url('results', page_number=page_number, searchQuery=request.matchdict['searchQuery'])}"
class="page-nav-selected">${page_number}
</a>
</div>发布于 2013-11-14 11:57:56
第一个问题:您使用的是标识运算符("is"),而不是相等运算符("==")。它“起作用”的事实(有点.)是由于cpython的实现细节造成的意外。
第二个问题:这个猜测有点疯狂,因为我对您的request.matchdict中的实际内容不太了解,但是:range() (如果它是python的内置range函数,至少会返回一个ints列表,我打赌request.matchdict['page_number']是一个字符串。试一试(如果旅游模板引擎允许的话):
<a tal:condition="request.matchdict['page_number'] == str(page_number)"https://stackoverflow.com/questions/19976740
复制相似问题