我试图在页面上显示数据,但页面完全是空的。我知道数据库中有数据,我知道query_db
函数返回正确的结果,但我无法弄清楚为什么数据不会被Jinja呈现。是什么导致了这个问题?
@app.route('/toto')
def toto():
entries = query_db("select col1,col2 from toto where col1 = 'grand test'")
return render_template('show_results.html', entries = entries)
show_results.html
:
{% extends "layout.html" %}
{% block body %}
<ul class=entries>
{% for entry in entries %}
<li><h2>{{ entry }}</h2>
<br>
{% else %}
<li><em>No entry here</em>
{% endfor %}
</ul>
{% endblock %}
layout.html
:
<html>
<head>
{% if title %}
<title>{{ title }} - microblog</title>
{% else %}
<title>microblog</title>
{% endif %}
</head>
<body>
<div>Microblog: <a href="/index">Home</a></div>
<hr>
{% block content %}{% endblock %}
</body>
</html>
答案 0 :(得分:2)
Jinja不允许子模板输出父模板块中的任何内容。 (换句话说,块名称必须匹配。)将子模板中的block body
更改为block content
或将layout.html中的content
块重命名为body
工作