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 }}
等
您好,我刚开始在 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 }}
等