体系结构概念:数据库驱动的web文件管理系统

2024-06-01 02:18:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用Django-Python开发一个小文件管理系统。但我的问题并不局限于Python开发人员。该系统将能够执行以下功能:

  • 创建、删除文件夹

  • 上传,创建,复制,移动文件。

所以我的想法是,把文件和文件夹的路径放到数据库中。物理上,我会把文件保存在一个目录中,但文件夹将有虚拟的存在。不像操作系统窗口中的每个文件夹都存在物理。所以我为演示创建了两个表:

表1:文档类型

class DocumentType(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=200) #(File,Folder)

表2:文件

class Documents(models.Model):
    file = models.FileField()
    name = models.CharField(max_length=200)
    type = models.ForeignKey(DocumentType)
    parent = models.ForeignKey('self')

文档表中字段“父”角色:

它将用于file获取有关文件夹的信息,例如file=abc.tx公司和parent=“myfiles”。如果父字段为空或null,则该文件属于根文件夹。你知道吗

/myfiles/abc.txt

对于文件夹,它将用于定位父文件夹,例如name=“fun”和parent=“images”

/images/fun

网页功能:

在页面加载时,我将填充文件夹类型记录。当用户单击任何文件夹时,将填充与该文件夹相关的所有文件。你知道吗

所以我的问题是,这是个好方法吗?或者我需要实际创建文件夹?你知道吗

这不是一个公共应用程序,所以我不需要担心权限、共享等问题

请给我建议一个好办法。你知道吗

谢谢


Tags: 文件name文档功能文件夹类型modelmodels