扩展未出现在Python中的基本模板
我有一个base.html页面,它有一个页眉和一个页脚块。 当我在home.html页面中使用扩展未出现在Python中的基本模板,python,flask,jinja2,Python,Flask,Jinja2,我有一个base.html页面,它有一个页眉和一个页脚块。 当我在home.html页面中使用{%extends“base.html”%}时,我从base.html页面中什么也得不到 如果使用{%include“base.html”%},则home.html页面中的所有内容都位于底部,页眉和页脚位于顶部。有人知道我怎么解决这个问题吗 我喜欢顶部的标题块,中间的HOM.html内容,以及在主页底部呈现的页脚块。 如果有任何帮助,我将不胜感激。谢谢 这是我的密码myapp.py from flask
{%extends“base.html”%}
时,我从base.html页面中什么也得不到
如果使用{%include“base.html”%}
,则home.html页面中的所有内容都位于底部,页眉和页脚位于顶部。有人知道我怎么解决这个问题吗
我喜欢顶部的标题块,中间的HOM.html内容,以及在主页底部呈现的页脚块。 如果有任何帮助,我将不胜感激。谢谢
这是我的密码<代码>myapp.pyfrom flask import Flask, render_template, url_for
app = Flask(__name__)
@app.route("/")
@app.route("/home")
def home():
return render_template("home.html", title="Home",
menu = menu)
@app.route("/base")
def base():
return render_template("base.html", title="Base")
if __name__ == "__main__":
app.run(debug=True)
base.html
<!DOCTYPE html>
<html>
<head>
<title>{{title}} - Restaurant</title>
</head>
<body>
{% block header %}
<ul>
<li><a href="{{url_for('home')}}">Home</a></li>
</ul>
{% endblock header %}
{% block footer %}
<h1>This is a footer</h1>
{% endblock footer %}
</body>
{% extends "base.html" %}
{% block header %}
<h1>Home Page</h1>
{% endblock header %}
{% block footer %}
<h1>New stuff in home page</h1>
{% endblock footer %}
试试这个
base.html
{%block title%}{%endblock%}-餐厅
{%块头%}
{%endblock头%}
{%block content%}{%endblock%}
这是一个页脚
home.html
{%extends“base.html”%}
{%block content%}
{%块头%}
主页
{%endblock头%}
{%block footer%}
主页中的新内容
{%endblock footer%}
{%endblock%}
在子模板中定义块会自动完全覆盖父模板中的版本。如果还想输出父版本,则需要调用
super()
-请参阅
因此,home.html应该是:
{%extends“base.html”%}
{%块头%}
{{super()}}
主页
{%endblock头%}
{%block footer%}
{{super()}}
主页中的新内容
{%endblock footer%}
您已覆盖home.html中的页眉和页脚。你期待什么?嗨,丹尼尔。在主页中,我期待着链接,主页,然后是页脚,最后是主页中的新内容。
<!DOCTYPE html>
<html>
<head>
<title>{% block title %}{% endblock %} - Restaurant</title>
</head>
<body>
{% block header %}
<ul>
<li><a href="">Home</a></li>
</ul>
{% endblock header %}
{% block content %}{% endblock %}
<h1>This is a footer</h1>
</body>
{% extends "base.html" %}
{% block content %}
{% block header %}
<h1>Home Page</h1>
{% endblock header %}
{% block footer %}
<h1>New stuff in home page</h1>
{% endblock footer %}
{% endblock %}