所以我知道主要区别(如果我错了,请纠正我),但数据库是存储数据的地方,服务器是存储数据库和其他内容的地方,因此它可以接收数据请求它存储并将此数据发送到计算机和其他服务器。
然而,在将我的Django应用程序部署到heroku并使用AWS S3作为媒体文件时,这对我来说变得非常模糊。当我从我的Django应用程序上传媒体文件时,我不确定将什么内容发送到heroku或AWS,我甚至不确定每个应该发送什么。数据库在哪里? (或者它们应该在哪里?)
如上所述,如何从文件/数据存储到视图中的任何地方获取文件/数据,以便在它是媒体文件时显示?
答案 0 :(得分:0)
服务器是您可以存储文件,运行应用程序的任何物理/虚拟机(在网络中)。数据库是在保存数据的服务器上运行的应用程序。 AWS s3就像服务器一样,但您无法在s3上运行应用程序,但您只能将其用于存储目的。 (你可以说这是云中的硬盘)
现在您如何通过应用程序存储文件是个问题? 但是肯定s3应该包含实际文件和app(实际链接数据库)应该包含媒体文件的url。 (如果将来需要访问此文件)
答案 1 :(得分:0)
在大多数情况下,媒体文件(如个人资料图片)不会存储在数据库中。它们只存储在服务器的存储系统中。此存储也可以由任何类型的存储服务(例如Amazon AWS S3)托管。
通常,您只将数据存储在“真实”数据库(mysql,nosql,...)中。该数据例如是用户简档信息。您可以在Heroku上使用这些数据库。
音乐,照片和文档等文件通常不会存储在数据库中,而是存储在硬盘上。 (有时压缩)