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

How to send server messages to dropzone

我正在使用 Dropzone.js 和 Django 上传文件并对其进行处理,并根据在服务器端完成的进程显示消息,如何将消息从 Django 视图发送到我的 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 选项:

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

这是我模板中的表单:

<form  method="POST"  action="{% url 'upload_file' %}" enctype="multipart/form-data" class="dropzone" id="myDropzone" >
                                    {% csrf_token %}

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

我找到答案了! 我把它放在这里供有同样问题的人使用: 如果你想从 Django 视图向 Dropzone 发送一条消息,并且你希望它在 Dropzone 中显示为红色消息,你应该发送一个 Json 响应,包括一个带有 "error" 键和值的上下文将是你的消息 kile this:

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