我是编程新手。我决定尝试使用flask,python和HTML创建一个Web应用程序。我设置了三个文件;两个HTML和一个python:
这是应该替换信息的HTML文件(didntwork.html
):
<!doctype html>
<html>
<head>
<title>My Webpage</title>
</head>
<body>
<h3>Information:</h3>
{% block body %}{% endblock %}
</body>
</html>
.
这是应该向第一个(connection.html
)输入信息的文件:
{% extends 'didntwork.html' %}
{% block body %}
<h4>information content</h4>
{% endblock %}
.
最后,这是python(main.py
)中烧瓶应用程序的逻辑:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('didntwork.html')
if __name__ == '__main__':
app.run(debug=True)
不幸的是,第二个HTML文件中的extends
似乎无法被识别,并且其块中的信息将不会被替换为第一个HTML文件(didntwork.html
)。
这是输出:
预期结果应使用短语“信息内容”将h4标签附加到正文中。
任何帮助都将不胜感激,谢谢。
答案 0 :(得分:0)
问题是{% extends 'didntwork.html' %}
。从我可以告诉包含此代码的文件:
<!doctype html>
<html>
<head>
<title>My Webpage</title>
</head>
<body>
<h3>Information:</h3>
{% block body %}{% endblock %}
</body>
</html>
是 connection.html
文件。
您正在扩展到正在呈现的同一文件(didntwork.html
)。在这种情况下,您必须更改extends
行以扩展基本HTML, connection.html
。
在didntwork.html
:
{% extends 'connection.html' %}
{% block body %}
<h4>information content</h4>
{% endblock %}
中找到更多信息
更新基础澄清
您在route
中呈现了错误的文件。
您应该呈现connection.html
,这将扩展您的didntwork.html
文件。