我需要一个基于浏览器的文件浏览器的组件,我希望一些 django 应用程序当前能够提供此功能。有这样的事吗?
完整的故事:
我正在构建一个用于测试的 django 应用程序。我想用它来提供文件(和字符串等)并向其附加自定义 header 。
目前,我有一个模型 FileSource
,它有一个 file_path
字段,其类型为 django.db.models.FileField
。
当从管理员创建文件源时,用户有一个很好的文件上传对话框,并且在保存时,他选择的文件被保存在服务器上(在一个非常奇怪的位置,在安装 django 的目录中,或者像这样奇怪的事情,因为我没有自定义存储,它也不会以任何方式帮助我)
我的问题:我只想使用文件对话框让用户在服务器上选择完整路径。用户选择的文件只能被引用,不能被复制(就像现在一样),并且它必须驻留在服务器上。 因此,服务器必须能够列出它所拥有的文件,所以我基本上需要一个基于浏览器的文件浏览器。
那时,我希望能够在数据库中保存完整路径,然后我将能够访问该文件并提供它(以及用户从我的应用程序中选择的任何自定义 header )。目前,如您所知,浏览器总是谎报文件的完整路径。 Chromium 将“C:\fakepath”附加到文件名中,因此我需要后端的支持来完成此操作。
另外,我检查了 django-filebrowser
和 django-filer
,据我了解,它们不是为此构建的。如果我错了,在配置它们方面提供一点帮助就太好了。
最佳答案
您可以使用 FilePathField为了那个原因。它不会上传文件,而是允许您选择预先存在的文件。需要注意的是,您只能使用一个目录。如果您需要多个目录,那么您需要使用 django-filer 之类的东西。
关于python - 是否有 django 应用程序为服务器上的文件提供文件选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30817746/