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

时间:2012-03-08 03:09:56

标签: jquery python django

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

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

所以,我现在的问题是这个方法。我应该使用线程,子进程,会话还是某种组合?任何片段(或完整的演示,以帮助我)?

如果线程是答案,我认为这没关系? http://nedbatchelder.com/blog/201103/quick_and_dirty_multithreaded_django_dev_server.html

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

如果你想要它是实时的,你可以使用长轮询,但有很多事情要做。

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

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

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