我有一个包含人口数据的数据库。我想创建一个显示此数据图形的页面(例如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')
问题是我在哪里/如何存储它并将其呈现给用户?我应该将它存储在媒体目录中吗?我不想永久存储文件,因此磁盘空间会很快填满仅使用一次的图形。
答案 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文档。这非常有帮助。