Я пытаюсь настроить побочный проект на DigitalOcean, и я использую git framework из https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-xvii-deployment-on-linux, чтобы начать.
В этой структуре я добавил код в один из маршрутов колб (/ исследовать), в котором я генерирую график с помощью matplotlib, и я хочу вернуть этот график как объект, когда я отображаю шаблон какфункция возврата этого маршрута.Мне не нужно сохранять график, если его можно отправить в шаблон без этого (например, с помощью io.BytesIO ()), но мне не удалось получить правильный синтаксис, чтобы использовать этот подход, и получить график для визуализациив полученном шаблоне.
Хотя мои попытки с io.BytesIO () были безуспешными, если это поможет вывести результаты с таким подходом, пожалуйста, дайте мне знать, как лучше всего его использовать, и я попытаюсь запустить этот код сПредлагаемые изменения и отчет о результатах.
Заранее спасибо!
Я попытался сохранить файл и отправить его в шаблон, а также отправить данные файла через BytesIO (), но ни один из подходов не сработал для меня.
Ниже приведена моя попытка сохранить файл в статический каталог и отправить изображение в шаблон, но решение, которое работает в этой среде с io.BytesIO () илианалогично без сохранения файла было бы еще лучше.
Вот код, который я добавил к маршруту исследования в /app/main/routes.py, чтобы сохранить изображение графика в статическом каталоге и вернуть путь кшаблон:
new_graph_name = url_for('static', filename='tmp_png.png')
plt.savefig(new_graph_name)
return render_template('index.html', url=new_graph_name)
Вот код, который я добавил в шаблон index.html:
{% if url %}
<img src={{ url }} alt="Chart" height="42" width="42" />
{% endif %}