我正在开发一个Django项目,我有以下“问题”。 我有一个具有子目录的本地目录,其中我有一些PDF文件。例如:
主要目录:
|-->2000
____|-->A
________|-->file1.pdf
________|-->file2.pdf
____|-->B
________|-->file3.pdf
____|-->C
________|-->...
____|-->D
________|-->...
|-->2001
___|--> ...
|-->2002
___|--> ...
所有文件夹都包含数千个PDF文件。
我想在Django视图中显示该目录,让用户通过单击子目录和PDF文件来浏览它,这样他就可以在浏览器中查看它们,甚至可以添加“下载PDF”按钮。我也想格式化一下,如果可能的话,将来也可以添加一个搜索功能。
这是我第一次使用本地文件和Django,所以我有点迷失。
感谢您的时间!
答案 0 :(得分:1)
您可以像这样使用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来推测这个