Я пытался выполнить пример, который я нашел в книге, на своем собственном компьютере, но он выдает ошибку.
jinja2.exceptions.UndefinedError: 'super' is undefined
Это в частности происходит для пользователя. html Страница, которую я создал как шаблон. Если я не пытаюсь наследовать родительскую страницу, все работает нормально. Как только я использую
{% extends "bootstrap/base.html" %}
, я получаю ошибку и ответ 500.
from flask import Flask, render_template
from flask_bootstrap import Bootstrap
app = Flask(__name__)
bootstrap = Bootstrap(app)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/user/<name>')
def user(name):
return render_template('user.html', name=name)
Индекс. html и пользователь. html ( тот, у которого проблема с загрузкой bootstrap)
#user.html
{% extends 'bootstrap/base.html' %}
{% block head %}
<h1>Hi {{ name }}</h1>
{% endblock %}
#index.html
<h1>Hello World</h1>
127.0.0.1 - - [28/Feb/2020 23:57:29] "GET / HTTP/1.1" 200 -
[2020-02-28 23:57:33,646] ERROR in app: Exception on /user/salman [GET]
Traceback (most recent call last):
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/flask/app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/flask/app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/flask/app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/flask/app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/flask/app.py", line 1935, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/home/salman/Documents/projects/flasky/hello.py", line 14, in user
return render_template('user.html', name=name)
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/flask/templating.py", line 140, in render_template
ctx.app,
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/flask/templating.py", line 120, in _render
rv = template.render(context)
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/jinja2/environment.py", line 1090, in render
self.environment.handle_exception()
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/jinja2/environment.py", line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/jinja2/_compat.py", line 28, in reraise
raise value.with_traceback(tb)
File "/home/salman/Documents/projects/flasky/templates/user.html", line 1, in top-level template code
{% extends 'bootstrap/base.html' %}
File "/home/salman/Documents/projects/flasky/venv/lib/python3.6/site-packages/flask_bootstrap/templates/bootstrap/base.html", line 24, in top-level template code
{%- endblock content %}
jinja2.exceptions.UndefinedError: 'super' is undefined