我的服务器上的文件系统上有一个目录结构。它可以包含任意级别的嵌套子目录,它们最终最终包含“报告”/“查询”,它们基本上只是包含数据的xml文件。我想在我的网站上使用"报告"将此目录结构显示为嵌套的可折叠菜单列表视图。作为菜单列表视图中的叶子并显示来自那些"报告"在点击页面的另一个区域。在每个菜单标题中,我想显示目录名称(实际上,我已经配置了一个将目录名称映射到更友好的显示名称的文件)。
磁盘上的数据结构如下所示(其中类别和子类别是文件系统上的目录,查询代表我想要显示其信息的文件):
我的整体问题是:
将文件系统目录结构读入python数据结构的最佳方法是什么,这样我最终可以使用可折叠的嵌套菜单在网站上显示它来表示目录结构。
由于从文件系统收集数据以显示在页面请求上,我不确定如何使用django模板(如果我应该)生成这些可折叠菜单,因为为列表结构生成了html在页面请求上读取,并且通常可以在文件系统上进行更改。我不确定如何使用静态Django模板来处理类似的事情。
那里最好的前端框架是什么,与Django很好地集成,并且最好支持嵌套菜单或百叶窗到任意深度,这将允许我显示这些菜单并最终显示报告文件的输出?
也许我应该使用django模板来显示目录结构的初始顶级,并在用户尝试深入到类别时使用ajax来获取下一个(以及之后的)子级别数据目录?理想情况下,我希望避免每次单击列表项时发出请求和等待响应的延迟,因此我希望在将服务器发送到客户端之前在服务器上构建整个页面。但同样,我不确定是否可以使用django模板来显示这样的任意数据。
非常感谢任何建议和意见,谢谢。
PS:我想我可以通过编程方式构建html以显示目录结构并将其发送给客户端,但我希望尽可能避免这样做。
答案 0 :(得分:0)
只是一个建议,但我会考虑保留所有条目的数据库表及其磁盘路径,文件大小,文件名等。用计划作业填写。然后在dbms中搜索这些路径/名称。
这使您可以向用户显示更多信息,并使django /前端的所有内容都使用您通常希望使用的工具。
将文件系统排除在外,并考虑用户真正想要做的事情,很可能他们并不关心它是如何存储在服务器上的。