2

我需要一个基于浏览器的文件浏览器组件,并且我希望某些 django 应用程序当前能够提供此功能。有这样的事吗?

完整的故事:

我正在构建一个用于测试的 django 应用程序。我想用它来提供文件(和字符串等)并将自定义标题附加到它。

目前,我有一个模型FileSource,它有一个file_path字段,类型为django.db.models.FileField.

从管理员创建 FileSource 时,用户有一个很好的文件上传对话框,保存时,他选择的文件保存在服务器上(在一个非常奇怪的位置,在安装 django 的目录中,或者像那个,因为我没有自定义存储,也不会以任何方式帮助我)

我的问题:我只想使用文件对话框让用户在服务器上选择完整路径。用户选择的文件只能被引用,不能被复制(就像现在一样),并且它必须驻留在服务器上。因此,服务器必须能够列出它拥有的文件,所以我基本上需要一个基于浏览器的文件浏览器。

那时,我希望能够在我的数据库中保存完整路径,然后我将能够访问该文件并提供它(以及用户将从我的应用程序中选择的任何自定义标头)。

目前,您可能知道,浏览器总是对文件的完整路径撒谎。Chromium 将“C:\fakepath”附加到文件名,所以我需要后端的支持来完成这个。

另外,我检查了一下django-filebrowserdjango-filer据我了解,它们不是为此而建造的。如果我错了,在配置它们时提供一点帮助会很棒。

4

1 回答 1

5

您可以为此使用FilePathField。它不会上传文件,而是允许您选择预先存在的文件。需要注意的是,您只能使用一个目录。如果您需要多个目录,那么您需要使用 django-filer 之类的东西。

于 2015-06-13T11:44:58.620 回答