Python 在Django视图中浏览本地目录和文件
我正在开发一个Django项目,我有以下“问题”。 我有一个有子目录的本地目录,其中有一些PDF文件。例如: 总导演:Python 在Django视图中浏览本地目录和文件,python,django,Python,Django,我正在开发一个Django项目,我有以下“问题”。 我有一个有子目录的本地目录,其中有一些PDF文件。例如: 总导演: |-->2000 ____|-->A ________|-->file1.pdf ________|-->file2.pdf ____|-->B ________|-->file3.pdf ____|-->C ________|-->... ____|-->D ________|-->... |-->2001 _
|-->2000
____|-->A
________|-->file1.pdf
________|-->file2.pdf
____|-->B
________|-->file3.pdf
____|-->C
________|-->...
____|-->D
________|-->...
|-->2001
___|--> ...
|-->2002
___|--> ...
所有文件夹都包含数千个PDF文件
我想在Django视图中显示这个目录,让用户通过单击子目录和PDF文件来浏览它,这样他就可以在浏览器中查看它们,甚至可以添加一个“下载PDF”按钮。我还想把它格式化一点,如果可能的话,将来可能还会增加一个搜索功能
这是我第一次使用本地文件和Django,所以我有点迷路了
谢谢你抽出时间 您可以像这样使用ListView
class FileObject():
name = ''
def __init__(self, name):
self.name = name
class DirListView(ListView):
template_name = 'main/list_dir.html'
def get_queryset(self):
files = []
for filename in os.listdir(path):
fileobject = FileObject(name=filename)
files.append(fileobject)
return files
此ListView可以像任何其他ListView一样使用。不确定路径的权限和位置。这一定是被settings.py窃取的。我想这有点宽泛了。你需要展示你已经尝试过的和没有成功的。删除了完全不相关的“pdf”和“web部署”标签…老实说,我没有做太多尝试。我仍在计划如何使这项工作,我想我会使用一些帮助来做它的正确方式,因为我是一个完全的业余爱好者。我正在考虑使用os.listdir方法获取目录,并通过将结果显示到模板中来移动目录,然后使目录“可点击”并移动到更深的位置等。感谢您的想法,我将尝试一下,看起来非常简单可行!我很快会带着结果回来:D