mar*_*n_r 6 python matplotlib flask
我有一个非常初学者的问题.是否可以通过render_template(...)直接显示动态处理的matplotlib图像(如https://gist.github.com/wilsaj/862153或https://gist.github.com/rduplain/1641344所示)或我必须使用app.route('... /')吗?目的是在网站内显示可定制(科学)的情节.
如果我想将一个数组(或多个变量)传递给绘图函数,是否有任何干净的解决方案?
您必须使用两个路由和一个模板来执行此操作.
显示页面的路线将render_template()使用您的HTML页面模板进行调用.模板具有页面的HTML,但不包含PNG数据.
在模板中PNG图像所在的位置,您必须插入一个<img>元素,就像您尝试显示静态图像一样.
诀窍是src该图像的属性指向第二条路线.您可以使用它生成它url_for().例如:
<img src="{{ url_for('mypng', data = some_data) }}">
Run Code Online (Sandbox Code Playgroud)
当浏览器收到HTML时,它会找到图像的链接并加载该URL.这将执行服务器中的第二个路由.
第二条路线生成PNG数据并将其作为响应返回,没有模板并设置内容类型,image/png以便浏览器将其呈现为图像.第二条路线将按照您引用的两个链接进行编码.
我希望这有帮助!
| 归档时间: |
|
| 查看次数: |
2599 次 |
| 最近记录: |