django应用程序是否提供服务器上文件的文件选择器? - python

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

全文:

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

当前,我有一个模型FileSource,其中只有一个file_path字段,其类型为django.db.models.FileField

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

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

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

如您所知,当前,浏览器始终位于文件的完整路径中。 Chromium在文件名后附加“ C:\ fakepath”,因此我需要后端的支持才能完成此操作。

另外,我检查了django-filebrowserdjango-filer,据我了解,它们并不是为此而构建的。如果我错了,那么在配置它们方面稍加坚持就会很棒。

python大神给出的解决方案

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