python 中的 jinja2 不将数据打印到模板

jinja2 in python does not print data to template

您好,我刚开始在 python 中使用 Jinja2 模板来构建网站,但我遇到的问题是在 python 控制台中打印模板时没有向其打印数据。在某些时候它给了我

<built-in method title of str object at 0x7f9adefebe70>

这是我的 delete.html 文件

{% for Data in results %}
  <h3>{{ Data.u_id }}</h3>
  <h3>{{ Data.p_id }}</h3>
  <h3>{{ Data.name }}</h3>
  <h3>{{ Data.email }}</h3>
  <h3>{{ Data.title }}</h3>
  <h3>{{ Data.body }}</h3>
  <h3>{{ Data.upvotes }}</h3>
  <h3>{{ Data.comments }}</h3>
  <h3>{{ Data.date_created }}</h3>
{% endfor %} 

下面是从数据库中获取的dict结果

{'body': 'they are hostel', 'name': 'suraj', 'title': 'betas',
 'p_id': 1L, 'comments': 2L, 'date_created': datetime.datetime(2015, 1, 25, 10, 36, 28),
 'upvotes': 0L, 'u_id': 1L, 'email': 'suraj@exmaple.com'}

下面的代码我运行在pythonshell

import jinja2
loader = jinja2.FileSystemLoader('./delete.html')
env = jinja2.Environment(loader=loader)
template = env.get_template('')
print template.render(results=results)

但是我得到了以下输出(输出语句中重复了以下内容)

<h3></h3>
<h3></h3>
<h3></h3>
<h3></h3>
<h3><built-in method title of str object at 0x7f9adc8012a0></h3>
<h3></h3>
<h3></h3>
<h3></h3>
<h3></h3>

我的输出应该是 delete.html 它应该打印我发送的字典中的相应数据。

如何解决这个问题? 提前致谢。

results 是单个字典,而不是字典列表。所以当你遍历它时,你会得到键,它们是字符串。您应该删除 for 循环并仅参考 {{ results.title }}