检查列表中是不是存在数字,应用引擎模板
Posted
技术标签:
【中文标题】检查列表中是不是存在数字,应用引擎模板【英文标题】:check if a number is present in a list, app engine templates检查列表中是否存在数字,应用引擎模板 【发布时间】:2011-05-28 10:55:10 【问题描述】:我正在尝试使用应用引擎模板和 html 表生成一个板 (10X10)。所以这基本上意味着在循环的 10 次迭代后中断。如何使用应用引擎的内置模板引擎 (django 0.96) 实现这一点?
更新
Lukes answer 解决了我自动插入中断的问题。 但是我仍然需要找到一种方法来检查每个数字是否存在于列表中并给它一个特定的类。有什么办法可以实现这样的:
% for number in list
<td % if number in another_list %class="special"% endif %>number</td>
% endfor
【问题讨论】:
【参考方案1】:0.96 的模板标签是否有divisibleby?这似乎可以解决问题:
% for end_number in end_numbers %
% if forloop.counter|divisibleby:"10" %
</tr>
% endif %
% endfor %
【讨论】:
太好了 - 很高兴我能帮上忙。 :)【参考方案2】:此时您最好编写自己的模板标签,或者使用类似smartif 的东西,这样您就可以使用% if foo in bar %
。
【讨论】:
我考虑过,但是如何加载自定义模板标签? 在您的项目下创建一个名为templatetags
的模块,并在其中放置一个类似 smartif.py
的文件 - 在其中粘贴 smartif 代码。然后,在您的模板中,您可以使用% load smartif %
来加载标签。
我用空的 init.py 和 smartif.py 创建了一个目录模板标签,但它不起作用:(
定义“不起作用” - 有错误吗?你的页面还显示吗?
否,模板语法错误:找不到模板标签库错误【参考方案3】:
您应该对代码中的数据进行预处理,以便在模板中更容易使用。将包含 100 个元素的数组分解为包含 10 个数组的嵌套数组,每个数组包含 10 个元素,并提供所需的信息以将 CSS 类分配给它们。
【讨论】:
【参考方案4】:包括一个计数器 (i),它在每个循环期间递增,并使用 if 语句将 i 重置为 1,并在达到 10 时绘制中断。
【讨论】:
以上是关于检查列表中是不是存在数字,应用引擎模板的主要内容,如果未能解决你的问题,请参考以下文章