您好我刚刚开始在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'}
以下代码我在python shell中运行
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
它应该打印我发送的字典中的相应数据。
如何解决这个问题? 提前谢谢。
答案 0 :(得分:1)
results
是单个词典,而不是词典列表。因此,当您遍历它时,您将获得键,这些键是字符串。您应该删除for循环,然后只需参考{{ results.title }}
等。