【发布时间】:2021-02-28 10:27:11
【问题描述】:
我正在寻找一个 Django-Rest 网络应用程序,允许用户存储文件和文件夹,然后他们可以在我的前端查看它们(想想:Dropbox、Google Drive 等)。
我知道 Django 有一个built-in storage api,但在我看来我不能使用它,因为它只处理文件上传(我也在寻找上传目录和子目录)。这意味着我需要创建一个自定义方法来完成我想要的。
我无法理解如何处理为此我应该遵循的文件夹结构。
我正在考虑在每个用户注册到平台后为其创建单独的文件夹。这些文件夹将以用户uuid 命名。例如:
- 用户:peter123注册
- 分配了
uc3f-g239-h423-tx3y的uuid - 在公共目录中创建了一个名为
uc3f-g239-h423-tx3y的文件夹 -
peter123 上传的所有文件和文件夹随后都存储在文件夹中:
uc3f-g239-h423-tx3y
所有后续用户也是如此,他们的个人文件夹名称由他们的 uuid 表示。
结构是这样的:
common
|
|_____uc3f-g239-h423-tx3y
| |____peter123.txt
| |____peter123-subfolder
| |_____peter123-subfile.csv
|
|_____du3y-dgp7-g9rq-23qp
| |____bob123.txt
| |____bob123.mp4
| |____bob123-subfolder
| |_____bob123-subfile.mkv
|
这是实现我想要实现的目标的有效结构吗?我知道某些文件系统(例如ext3)有子目录限制,但其他文件系统(例如ext4)没有。
考虑到上述所有信息,我的问题是:
-
我需要注意以这种方式存储文件有什么限制吗?
-
Django 是否能够管理文件上传/下载,或者我应该寻找其他东西来完成应用程序的这一部分?
我对所有意见持开放态度,因为我知道可能有更好的方法来解决这个问题(我不知道)。我已经对此进行了大量搜索,但正在努力寻找合适的答案。
或者,谁能指出我可以了解这个主题的任何好的资源?
【问题讨论】:
标签: python django architecture filesystems