我目前已将 Django 设置为将文件上传到:
/路径/到/项目/上传
这很好用。该文件夹位于项目的根文件夹中,因此无法直接从 Web URL 提供文件,这正是我想要的,这些文件是用户上传的“CV”。
我看过一个名为 filetransfers 的第三方 django 应用程序,它可以完成这项工作,但我想知道 Django 核心是否有办法从媒体文件夹外部提供文件。
任何帮助都会很棒。
安迪
我目前已将 Django 设置为将文件上传到:
/路径/到/项目/上传
这很好用。该文件夹位于项目的根文件夹中,因此无法直接从 Web URL 提供文件,这正是我想要的,这些文件是用户上传的“CV”。
我看过一个名为 filetransfers 的第三方 django 应用程序,它可以完成这项工作,但我想知道 Django 核心是否有办法从媒体文件夹外部提供文件。
任何帮助都会很棒。
安迪
根据您使用的 Web 服务器,X-sendfile
如果您使用 Apache 或X-accel-redirect
使用 Nginx,我建议您使用。但请记住,您需要更改 Web 服务器中的设置。但这比使用 Django 提供文件要有效得多。
如果您想要控制文件的服务方式/谁可以看到它们等,那么最简单的解决方案是编写一个自定义视图来服务这些文件。您只需提供文件内容作为响应正文并设置适当的响应标头(文件类型、内容长度等)。阅读有关 Response 对象的 FineManual(tm) 部分应该是一个很好的起点。
使用 FileWrapper() 解决。
不管怎么说,还是要谢谢你。