Ошибка Flask / Jinja2 Обнаружен неизвестный тег 'endblock' - PullRequest
0 голосов
/ 02 апреля 2020

Я начинаю использовать Flask и обнаруживаю следующую ошибку:

jinja2.exceptions.TemplateSyntaxError: Encountered unknown tag 'endblock'.

Я не знаю точно, где ошибка, я уже переделал код, но У меня все та же проблема! Вот код:

app.py

from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello, World!"

@app.route("/page1")
def page1():
    return render_template("page1.html")

@app.route("/page2")
def more():
    return render_template("page2.html")

макет. html

<html>
    <head>
        <title> My website </title>
    </head>
    <body>
        <h1> {$ block heading %}{% endblock heading %}} </h1>

        {% block body %}
        {% endblock body %}
    </body>
</html>

page1. html

{% extends "layout.html" %}

{% block heading %}
    First Page
{% endblock heading %}

{% block body %}
    <p>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
    </p>

    <a href="{{ url_for('more') }}"> Leia Mais. </a>
{% endblock body %}

1 Ответ

1 голос
/ 02 апреля 2020

Используйте это:

{% endblock %}

Вместо указанных вами c конечных блоков, которые вы используете.

О, я также вижу, что вы делаете это:

{$ block heading %}{% endblock heading %}}

Здесь есть три проблемы:

  1. у вас есть символ $, и
  2. у вас есть два конца }
  3. как Как упоминалось ранее, конечный блок должен быть таким: {% endblock %}
...