我是编程世界的新手。我已经开始学习Python了。我正在尝试开发一个获取用户输入的程序,在后台运行一些命令,然后在Web界面上显示输出。虽然它稍微复杂一些,但为简单起见,您可以将其视为:
我有Python + Django + Apache设置。我正在使用HTML来显示输出。只要返回的输出相当小,它就能正常工作。但有时我有巨大的输出(约700 MB),显然我很难在网络界面上显示它。
Code Snippet:
op = subprocess.check_output(cmd,universal_newlines=True)
return render (request, 'display.html', {'op': op})
在网络上展示如此大型内容的最佳方法是什么?我想提出的一些观点:
答案 0 :(得分:0)
您无法在任何常规屏幕上一次显示700 MB的字母数字数据,即使可以,用户也会淹没在其中。因此,您应该显示部分并启用滚动或选择。如您所示,加载所有这些数据需要相当长的时间。但是,由于您不会将其整体视图,因此您也无需将其加载到一个部件中。您应该使用Ajax(例如在jQuery中实现)而不是刷新整个页面,以使浏览器将数据加载到适当的HTML / DOM元素中,如用户所指示的那样。移动滚动条。鉴于即使在这种情况下700 MB也是太多,更好的方法是使用某种类型的分层(树)控制或另一种非顺序选择机制来选择用于显示的数据。在这种情况下,除了提供页面本身之外,Django的唯一任务是提供所请求的数据部分,例如,作为JSON数据。如上所述,同时保存显示数据部分和选择控件的页面只提供一次。
答案 1 :(得分:0)
看看一些jQuery Infinite Scrolling选项here。