Django应用使用亚马逊AWS S3存储代替数据库?

2 投票
1 回答
1412 浏览
提问于 2025-04-16 09:56

我正在考虑用Django来快速制作一个照片分享应用,后端使用亚马逊的S3存储。

不过,按照我的理解,Django主要是为传统的数据库模型-视图-控制器(MVC)模式设计的。有没有办法,比如说,提供一个自定义的Django模型,让它直接和S3对接,而不是使用数据库?或者说,能不能做一个自定义的数据库引擎?这样做是否可行,还是我在找错方向呢?

1 个回答

2

S3最适合用来存储二进制文件,而数据库则更适合存储文本(当然,也有例外)。我的建议是把文件名和版本号存储在数据库里,把二进制文件放在S3上。

至于你问的另一个问题,你可以自由地重写Django的模型层(就像django-nonrel和与AWS更相关的django-simpledb那样),或者根本不使用它,不过这样的话,我会怀疑使用Django是否真的有必要。毕竟,如果你只是用它来处理路由和展示模板,那你可以选择一些更轻量的框架,比如web.pyDENIED

撰写回答