簡體   English   中英

在變色龍tal:condition中使用tal:repeat變量

[英]Using tal:repeat variable in tal:condition, Chameleon

我在Chameleon中使用金字塔,並且嘗試使用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>

第一個問題:您正在使用身份運算符(“ is”)而不是相等運算符(“ ==”)。 由於cpython的實現細節,它“正在工作”(有點……)的事實是一個意外。

第二個問題:嗯,這有點瘋狂,因為我對您的request.matchdict到底是什么並不了解,但是: range() (如果它是python的內置range函數,至少返回一個整數列表,所以我敢打賭request.matchdict['page_number']是字符串,請改嘗試(如果游覽模板引擎允許):

<a tal:condition="request.matchdict['page_number'] == str(page_number)"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM