我目前有一个django应用程序,可生成PDF并将其保存到特定目录。从管理界面我想有一些方法来查看该目录中的文件列表(类似于models.FilePathField()),但也能够下载它们。我意识到django从来没有打算真正提供文件,我一直在修补django-sendfile,作为一种可能的选择。它似乎没有任何方法可以创建除FilePathField之外的动态文件列表(我不相信它可以满足我的目的)。
答案 0 :(得分:1)
这个项目是否符合您的需求? http://code.google.com/p/django-filebrowser/
答案 1 :(得分:0)
我最终意识到我是以一种比必要更复杂的方式解决问题。使用两个单独的视图使问题变得微不足道。我的印象是管理界面会包含这样一个基本功能。
我所做的是创建一个download_list视图来显示目录中的文件,以及一个download_file视图,它使用django-sendfile将文件提供给最终用户。 Download_file只需使用listdir()解析目录,检查扩展是否有效,并将完整的文件路径发送到download_file函数(在用户选择之后)。
答案 2 :(得分:0)
文件是否在您的网络服务器提供的目录中?如果您只想列出并下载文件,那么只需要链接到包含其中所有文件的目录并让网络服务器负责列出和提供文件就可能更容易了。我知道这对你来说可能不是理想的解决方案,但它确实避免让Django提供静态文件,这是一个最好留给网络服务器的任务。