django - 临时存储数字
Posted
技术标签:
【中文标题】django - 临时存储数字【英文标题】:django - temporarily storing figures 【发布时间】:2018-10-26 10:45:55 【问题描述】:我有一个包含人口数据的数据库。我想创建一个显示此数据图形的页面(例如 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')
问题是我将在哪里/如何存储它并将其呈现给用户?我应该将其存储在媒体目录中吗?我不想永远存储文件,因为这样磁盘空间会很快被只使用一次的图表填满。
【问题讨论】:
您可以将 matplotlib 与 django ***.com/questions/30531990/… 一起使用。无论如何,为什么不将它存储在数据库中 【参考方案1】:您有多种选择:
一种是将图形存储在您配置的静态文件夹内的特定文件夹下。 (请记住,django 为公共资产提供了一个很好的解决方案,您可以配置您的网络服务器以直接提供这些文件)。 看看this question about serving these files using nginx.
在 settings.py 中有这个配置:
STATIC_ROOT = os.path.dirname(BASE_DIR) + '/static/'
可以访问存储在以下位置的文件:
/static/figures
http://your.domain.com/static/figures/figure.svg
如果这还不够,请使用任何对象存储提供程序,这里很少:
亚马逊S3 梦想主机 objects 机架空间cloud files查看this django 关于静态文件部署的文档。很有帮助。
【讨论】:
【参考方案2】:尝试将图像保存在缓存中。查看django-sorl-thumbnail 了解如何尝试。
【讨论】:
以上是关于django - 临时存储数字的主要内容,如果未能解决你的问题,请参考以下文章