2015-11-17 4 views
1

Я использую наследование шаблонов в jinja2, потому что у меня есть верхний бар на моем веб-сайте, который мне нужно включить на всех страницах. Проблема в том, что всякий раз, когда на любой странице появляется ошибка, трассировка всегда указывает на строку с тегом {% extends %}, и я не могу найти источник ошибки.Ошибка Traceback в Jinja2 при расширении шаблона

Есть ли способ узнать, какая строка вызывает ошибку (кроме чтения всего кода) или другого способа наследования шаблона, чем {% extends %}?

+2

отправьте сообщение об ошибке здесь ... –

+0

Файл «D: \ BitBucket \ Code \ purchase \ templates \ catalogue.html», строка 1, код верхнего уровня {% extends 'purchase/templates/navbar. html '%} UndefinedError:' fg 'не определено – Y2H

+0

Как вы видите в сообщении трассировки, вы используете неопределенную переменную в шаблоне 'cataloge.html', называемом' fg'. Проверьте эту переменную или включите соответствующие шаблоны в свой вопрос. – Dauros

ответ

0

Итак, после многих попыток, я обнаружил, что лучший способ сделать это - использовать iframes вместо Jinja extend. Таким образом, я могу не только найти источник ошибки, мне не нужно отправлять значения Python, которые я использую в кадрах для каждого шаблона, который я буду отображать. Я отправляю их только в исходный класс, который создает шаблон iframe.

1

Хотя iframe более привыкли импортировать веб-страницы с разных сайтов, это может быть хорошей идеей. Вы также можете использовать тэг jinja {% include %}, а затем использовать сеансы для кэширования данных вместо их перезагрузки на каждой странице.

 Смежные вопросы

  • Нет связанных вопросов^_^