如何在渲染 html 模板时显示 <head> 标签

how to display <head> tags when rendering html template

我正在学习如何通过 Flask 渲染 html 模板。问题是下面 html 文件的头标签永远不会显示。仅显示标签。 请让我知道如何显示标签

python代码:

from flask import Flask, url_for
from flask import request
from flask import render_template

app = Flask(__name__) # Flask(__name__)

@app.route('/')
@app.route('/index')
def index():
user = {'username': 'AWA'}
return render_template('index.html', title='Home', user=user)

@app.route('/layout')
def layout():
return render_template('layout.html')

if __name__ == '__main__':
    app.run(debug = True)

代码:

    <html>
    <head>
    {% if title %}
            <title>{{ title }} - Microblog</title>
    {% else %}
        <title>Welcome to Microblog</title>
    {% endif %} 

    </head>
    <body>
        <h1>Hello, {{ user.username }}!</h1>
    </body>
</html>

<head> 标签中的数据通常对最终用户不可见。它通常用于元数据、css 文件,有时也用于 js。另外,<title> 标签纯粹是为了让浏览器显示在标题栏中。您可能需要 https://developer.mozilla.org/en-US/docs/Web/HTML/Element/header 标签。

您可以在此处阅读有关 head 标签的更多信息:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head, and the title tag here: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/head

编辑:

您可以将 <header> 标签与 <h1> 结合使用来创建一个可见的标题,这是一个简单的示例(代码未测试):

<html>
    <head>
    {% if title %}
            <title>{{ title }} - Microblog</title>
    {% else %}
        <title>Welcome to Microblog</title>
    {% endif %} 

    </head>
    <body>
        <header>
            {% if title %}
                <h1>{{ title }} - Microblog</h1>
            {% else %}
                <h1>Welcome to Microblog</h1>
            {% endif %}
        </header>
        <h3>Hello, {{ user.username }}!</h3>
    </body>
</html>