如何将服务器消息发送到Dropzone

时间:2019-05-07 15:23:16

标签: django dropzone.js

我正在使用Dropzone.js和Django上传文件并进行处理,并基于服务器端完成的进程显示消息,如何将消息从Django视图发送到我的dropzone组件,我可以看到服务器生成错误时,它是一个红叉,我该如何在上面输入自己的消息? 这是我的看法:

autodimension

,这是模板文件中的dropzone选项:       

   @login_required
   def upload_file(request):
    error=''
    if request.method == 'POST' and request.FILES['file'] :
           ##doing something and based on that generate error
            error='My message.....'
            return render(request,'app/inputFile_pannel.html', {
               'error':error})           
    return render(request,'app/inputFile_pannel.html', {
       'error':error})

这是我模板中的表格:

       Dropzone.options.myDropzone = {
           clickable:true,
           method:"post",
           withCredentials:true,
           paramName: 'file',
           autoProcessQueue :false,
           uploadMultiple:false,
           forceFallback:false
}

当我想在模板中使用{{error}}来显示错误时,它不起作用,当我将forceFallback更改为true时,一切正常,并且错误显示正确,但是表格变为简单文件输入,不再是一个dropzone。如何将视图中的消息发送到此模板?是否可以访问在dropzone的缩略图文件中显示的红十字消息?有人可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

我找到了答案! 我把它放在这里给有同样问题的人: 如果要将消息从Django视图发送到Dropzone,并希望在Dropzone中将消息显示为红色消息,则应发送Json响应,其中包含带有“错误”键的上下文,值将是您的消息,这是这样的:

 error="My message..."
 return JsonResponse({'error':error},status=400)