django - 暂时存储数据

时间:2018-05-16 11:34:54

标签: python django static-files

我有一个包含人口数据的数据库。我想创建一个显示此数据图形的页面(例如matplotlib)。我如何以及在哪里存储我使用matplotlib创建的数字?

示例数据:

year | people
2010 | 100
2011 | 110
2012 | 110
2013 | 114
2014 | 124
2015 | 154
2016 | 143
2017 | 112

在我看来,我已经收集了变量,年份和人物。我通常会做这样的事情:

plt.plot(year, people)
plt.savefig('figure.svg')

问题是我在哪里/如何存储它并将其呈现给用户?我应该将它存储在媒体目录中吗?我不想永久存储文件,因此磁盘空间会很快填满仅使用一次的图形。

2 个答案:

答案 0 :(得分:0)

尝试将图像保存在缓存中。请查看django-sorl-thumbnail了解如何尝试。

答案 1 :(得分:0)

您有几种选择:

一种是将数字存储在您配置的静态文件夹内的特定文件夹下。 (请记住,django有一个很好的公共资产解决方案,您可以配置您的网络服务器直接提供这些文件)。
 请查看有关使用nginx提供这些文件的this问题。

在settings.py中配置此配置:

STATIC_ROOT = os.path.dirname(BASE_DIR) + '/static/'

可以访问存储在以下文件中的文件:

/static/figures

http://your.domain.com/static/figures/figure.svg

如果还不够,请使用任何对象存储提供程序,这里只有少数几个:

查看有关静态文件部署的this django文档。这非常有帮助。