【问题标题】:beginner: django progress bar jquery (not for multipart forms)初学者:django 进度条 jquery(不适用于多部分表单)
【发布时间】:2012-03-08 03:09:56
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: jquery python django


    【解决方案1】:

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

    用户所在的页面应该使用 ajax 查询进度百分比,或者只是重新加载自身并显示更新的进度条。

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-11-13
        • 2021-07-01
        • 1970-01-01
        • 2012-01-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多