Я изучаю наследование шаблонов и немного запутался. Когда я перехожу к index.html
, я хочу, чтобы заголовок отображался на вкладке в моем браузере. И я хочу, чтобы эта функция была встроена в файл base.html
, от которого я наследуюсь, чтобы функции index
на app.py
нужно было передавать только заголовок аргумента (и имя файла html) в выполнить, как описано выше.
По какой-то причине код не работает должным образом; заголовок отсутствует на вкладке браузера.
app.py:
from flask import Flask, render_template
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html',title='index')
if __name__ == "__main__":
app.run(debug=True)
index. html:
<!DOCTYPE html>
{%extends "base.html"%}
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
</head>
<body>
</body>
</html>
base. html:
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title></title>
{%block head%}
{% if title %}
<title> {{title}} </title>
{%endif%}
{%endblock%}
</head>
<body>
{%block body%}{%endblock%}
</body>
</html>
Оба index. html и base. html находятся в папке шаблонов, поскольку это необходимо для работы jinja. Ошибок не возникает, заголовок просто не форматируется должным образом.
Что я делаю не так?