【问题标题】:How to pass directory path from a template to a view?如何将目录路径从模板传递到视图?
【发布时间】:2016-06-07 17:53:31
【问题描述】:

我对 Python\Django 还是很陌生。

我正在尝试为我的电影\电视节目集制作一个类似于 Netflix 的本地库。

一般的想法是用户选择一个媒体文件夹,服务器端运行文件夹中的文件将它们添加到数据库中,然后用户可以搜索项目并在 GUI 中播放它们。

我遇到的第一个问题是从用户那里获取文件夹路径而没有实际上传任何文件。在网上做了一些搜索后,我发现了这个:

<input type="file" id="file_input" webkitdirectory="" directory="">

此 HTML 代码允许用户选择一个文件夹并遍历其中的所有文件,但是,我不知道如何将此信息传递给 views.py 以便我可以在输入上运行逻辑。

有谁知道如何做到这一点?

【问题讨论】:

标签: python html django file filelist


【解决方案1】:

出于安全原因,浏览器不允许获取文件夹路径 (Stack Overflow)。由于您不希望用户上传文件,因此可能的解决方案是在 &lt;input type="text"&gt; 中明确提及文件夹路径。最简单的解决方案是python –m SimpleHTTPServer (source, docs)。你可能也对这个Django app感兴趣。

【讨论】:

  • 谢谢,但这最终将所选文件夹中的文件上传到临时上​​传目录,这不是我想要的。我只想传递选定的目录路径。看来“webkitdirectory”不是我想要的。
  • 如果您上传的文件太大,Django will write the uploaded file to a temporary file。你必须写custom upload handlers。为了提高性能,您需要使用像 apache 或 nginx 这样的服务器。
  • 问题是,我根本不想上传文件。如果可能的话,我只想将 dir 路径传递给服务器。理想情况下,它将是一个类似“D:\Movies”的字符串。
  • 我认为这不可能。请检查我的更新答案。
猜你喜欢
  • 2021-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-15
  • 1970-01-01
  • 2015-09-18
  • 2018-03-23
  • 2015-07-07
相关资源
最近更新 更多