Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django/Python使用progressbar下载文件_Python_Django_Multithreading_File_Download - Fatal编程技术网

Django/Python使用progressbar下载文件

Django/Python使用progressbar下载文件,python,django,multithreading,file,download,Python,Django,Multithreading,File,Download,好吧,我决定把这个问题贴在这里,因为我真的不知道该做什么,甚至不知道这是否可能。你可能会告诉我这是一篇转载的文章,但我确实读过类似的文章,这对我没有帮助 这是交易。我有一个与django的管理界面,希望从服务器上的外部站点下载一个文件,并使用progressbar显示下载百分比 下载时我什么都做不了。我尝试在视图中使用call_命令运行命令,但结果是一样的 是因为Django服务器是单线程的吗?那么,有可能实现我想做的事情吗 提前感谢,这是可能的,但需要在隐喻的框架中进行一些跳跃。我的答案不是D

好吧,我决定把这个问题贴在这里,因为我真的不知道该做什么,甚至不知道这是否可能。你可能会告诉我这是一篇转载的文章,但我确实读过类似的文章,这对我没有帮助

这是交易。我有一个与django的管理界面,希望从服务器上的外部站点下载一个文件,并使用progressbar显示下载百分比

下载时我什么都做不了。我尝试在视图中使用call_命令运行命令,但结果是一样的

是因为Django服务器是单线程的吗?那么,有可能实现我想做的事情吗


提前感谢,

这是可能的,但需要在隐喻的框架中进行一些跳跃。我的答案不是Django特有的,您需要将其转换为您的框架

  • 启动一个执行实际下载的线程。在下载时,它必须更新用户会话中的某些数据结构(下载的总大小等)

  • 在浏览器中,启动一个计时器,该计时器对“下载状态URL”执行AJAX请求

  • 为此URL创建一个处理程序,该处理程序从会话获取状态,并将其转换为JSON或发送到浏览器的HTML片段

  • 在AJAX处理程序的成功方法中,获取JSON/HTML并将其放入当前页面。除非下载完成(这部分使用JSON更简单),否则重新启动计时器


  • 我的问题是针对django的。在本地执行runserver时,无法启动其他线程。