繁体   English   中英

初学者:django进度条jquery(不适用于多部分表单)

[英]beginner: django progress bar jquery (not for multipart forms)

免责声明:我是django和python的新手,但是有Drupal编程经验。

我花了最后3个小时,寻找一种将jqueryui进度栏集成到django(开发服务器)站点(在localhost上运行sqlite)的简单方法,其中该进度条未显示文件上传,但显示了另一个python脚本的进度(我需要通过django网络前端将数百张照片从许多SDCard传输到localhost)。 我的Web应用程序已经有一个可用的jquery对话框,我可以正确地发出和接收简单的ajax请求($ .get ...

所以,我的问题现在是关于方法。 我应该使用线程,子进程,会话还是某种组合? 有任何摘要(或完整的演示可以帮助我)吗?

如果线程是答案,我认为这可以吗? http://nedbatchelder.com/blog/201103/quick_and_dirty_multithreaded_django_dev_server.html

您可以使用django-ztask或celery之类的东西来执行后台进程。

用户所在的页面应使用ajax在视图中查询进度%,或者只是重新加载自身并显示更新的进度栏。

如果需要实时,则可以使用长轮询,但是有太多事情要做。

最简单的解决方法应该是使用单独的进程作为工作进程,并将该进程更新为临时文件。 (此文件只有1行,即进度的百分比)。

您的视图应该只是获取文件并读取它,然后按原样返回客户端。 由于临时文件上的信息是单行进度指示器(例如,“ 79”占79%),因此使用Javascript解析非常容易。

然后,在浏览器上,您可以每5秒通过ajax get请求调用一次视图并更新进度条。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM