Я создаю график боке и передаю код html script, div = components(plot)
script, div = components(plot)
return render_template('results.html',the_div=div,the_script=script)
Скрипт и div были переданы браузеру, но вместо просмотра графика он отображает html код.
{% extends "bootstrap/base.html" %} {% import "bootstrap/wtf.html" as wtf %} {% block html_attribs %} lang="en" charset="utf-8"{% endblock %} {% block title %} Prottiming Results {% endblock %} {% block metas %} <link rel="icon" type="image/png" href="https://www.pythonanywhere.com/user/morganprott/files/home/morganprott/mysite/static/favicon-96x96.png"> <link rel="stylesheet" href= "https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"> <script src="https://cdn.bokeh.org/bokeh/release/bokeh-2.0.2.min.js" crossorigin="anonymous"></script> <script src="https://cdn.bokeh.org/bokeh/release/bokeh-widgets-2.0.2.min.js" crossorigin="anonymous"></script> <script src="https://cdn.bokeh.org/bokeh/release/bokeh-tables-2.0.2.min.js" crossorigin="anonymous"></script> {% endblock %} {% block content %} <div class="container"> {{ the_script }} {{ the_div }} </div>
Может кто-нибудь указать, где я ошибаюсь? -Я проверил, что версия боке, которую я использую, - 2.0.2. Я не знаком с javascript, поэтому предполагаю, что это может быть простое исправление
Вид из консоли браузера:
По умолчанию все параметры шаблона экранированы, чтобы не допустить изменения структуры DOM. Поскольку вам действительно нужно изменить структуру DOM, вы должны просто добавить |save к каждой переменной:
|save
{{ the_script|safe }} {{ the_div|safe }}
Подробнее: https://jinja.palletsprojects.com/en/2.11.x/templates/#working -with-automati c -escaping
На скриншоте вашей консоли показана проблема. Вы пытаетесь загрузить Bokeh JSON, созданное с помощью Python Bokeh версии 1.3.4, с Bokeh JS version 2.0.2 из CDN. Это не поддерживается и работать не будет (версии должны совпадать).