如何在 Jinja2 中使用简单的 for 循环构建 HTML 表格?
我刚刚学习 Jinja2。我以前从未做过任何模板,所以我现在发现文档非常混乱。
如何使用简单的 FOR 循环构建 HTML 表?我的模板看起来像这样:
{% for item in items %}
<TR>
<TD class="c1"><IMG src="favicon.ico"></TD>
<TD class="c2">{{date}}</TD>
<TD class="c3">{{id}}</TD>
<TD class="c4"><SPAN>{{position}}</SPAN></TD>
<TD class="c5"><SPAN>{{status}}</SPAN></TD>
</TR>
{% endfor %}
我的 python 代码看起来像这样:
import jinja2
loader = jinja2.FileSystemLoader('./index.html')
env = jinja2.Environment(loader=loader)
template = env.get_template('')
print template.render(date='2012-02-8', id='123', position='here', status='Waiting')
我似乎无法生成任何表。我也不知道这是否是用多个字段填充表的最佳方法。
I'm just learning Jinja2. I have never done any templating before so I find the documentation very confusing right now.
How do I do build up a HTML table with a simple FOR loop? My template looks something like this:
{% for item in items %}
<TR>
<TD class="c1"><IMG src="favicon.ico"></TD>
<TD class="c2">{{date}}</TD>
<TD class="c3">{{id}}</TD>
<TD class="c4"><SPAN>{{position}}</SPAN></TD>
<TD class="c5"><SPAN>{{status}}</SPAN></TD>
</TR>
{% endfor %}
My python code looks like this:
import jinja2
loader = jinja2.FileSystemLoader('./index.html')
env = jinja2.Environment(loader=loader)
template = env.get_template('')
print template.render(date='2012-02-8', id='123', position='here', status='Waiting')
I can't seem to generate any tables. I also don't know if this is the best way to populate a table with several fields.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只需将
items
作为关键字参数传递给template.render
- 它应该是一个项目列表(实际上任何可迭代的都可以)。如果您需要子项目,请使用类或字典。在最简单的情况下,你可以使用字典:然后你的 Jinja 代码会稍微改变:
Just pass
items
totemplate.render
as a keyword argument - it should be a list (really any iterable will do) of items. If you need sub-items use a class or a dictionary. In the simplest case, you can use a dictionary:And then your Jinja code would change slightly: