我尝试同时渲染render_template('index.html')
和render_template('layout.html')。仅标题和布局呈现。索引未呈现。哪里出了问题?
app.py
@app.route('/')
def index():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
header.html:
{% block header %}
<div>this is header</div>
{% endblock %}
Layout.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>{% block title %} - My Site {% endblock %}</title>
<link rel="stylesheet" href="">
</head>
<body>
{% include 'header.html' %}
{% block content %}
<div> this is the layouts <div>
{% endblock %}
</body>
</html>
index.html:
{% extends 'layout.html' %}
{% block content %}
<div>this is index page</div>
{% endblock %}
答案 0 :(得分:0)
发生的事情是Jinja概念有点不同。以防万一,当您在index.html文件中扩展layout.html时,您一定也需要在其中调用标头替换。因此标题没有被调用。这是一个示例:
{% extends 'layout.html' %}
{% block header %}
<div>this is header</div>
{% endblock %}
{% block content %}
<div>this is index page</div>
{% endblock %}
我已经开发了一个项目,可以帮助您进行一系列自动创建,以防您想冒险并帮助我改善它的自在感:https://github.com/marcosstefani/flute