Этот вопрос задавался аналогичным образом здесь, но ответ был на мой взгляд (я супер новичок в python и веб-разработке) м надеясь на более простой способ, иначе это можно объяснить по-разному.
Я пытаюсь сгенерировать изображение с помощью matplotlib и обслуживать его без предварительной записи файла на сервер. Мой код, вероятно, глупый, но он выглядит следующим образом:
import cgi
import matplotlib.pyplot as pyplot
import cStringIO #I think I will need this but not sure how to use
...a bunch of matplotlib stuff happens....
pyplot.savefig('test.png')
print "Content-type: text/html\n"
print """<html><body>
...a bunch of text and html here...
<img src="test.png"></img>
...more text and html...
</body></html>
"""
Я думаю, что вместо того, чтобы делать pyplot.savefig('test.png'), я должен создать объект cstringIO, а затем сделать что-то вроде этого:
mybuffer=cStringIO.StringIO()
pyplot.savefig(mybuffer, format="png")
Но я довольно потерял оттуда. Все примеры, которые я видел (например, http://lost-theory.org/python/dynamicimg.html), включают в себя выполнение чего-то вроде
print "Content-type: image/png\n"
и я не понимаю, как интегрировать это с HTML, который я уже выводил.