【问题标题】:Matplotlib and django templatesMatplotlib 和 django 模板
【发布时间】:2014-02-06 16:52:52
【问题描述】:

我有一个 Django 应用程序,其中包含来自 Google 图像图表 api 的图表。我想替换图表(它们已折旧),并开始使用 Matplotlib。

所以我按照这里的例子,让 Django / Matplot 返回一个 png:

http://wiki.scipy.org/Cookbook/Matplotlib/Django.

现在,如果我想返回一个嵌入了 Matplotlib 图像的 HTML 页面,我该怎么做?我可以看到两个选项。

1:我是否应该将 HTML 设置为一个视图,另一个视图用于图表,分别处理这两个部分(我猜数据将在图像 URL 中编码)。 HTML 将被渲染,并且随着图像标签的渲染,它对 Django 进行第二次调用,并生成图表。这似乎很容易设置,但似乎图表数据将不必要地来回传递。

2:或者我可以在生成 HTML 的同时生成 Matplot lib 图像,准备好 png 并同时发送它们吗?我想我必须将文件写入提供静态文件的位置。什么是文件命名方案/事后清理的最佳实践?

对于这类事情,是否有一种方法被认为是最佳实践?我想这并不少见。

【问题讨论】:

    标签: python django matplotlib


    【解决方案1】:

    第一个选项几乎肯定会更容易。只需将 URL 映射到调用 matplotlib 代码的视图,并在那里返回图像数据。

    对于第二个选项,您可以使用data uri 作为模板中图像的来源,将图像数据嵌入 HTML,但这似乎并不是必需的。

    【讨论】:

      猜你喜欢
      • 2015-08-12
      • 2019-11-25
      • 1970-01-01
      • 2012-10-31
      • 2018-12-02
      • 2013-03-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多