【问题标题】:How to send server messages to dropzone如何将服务器消息发送到 dropzone
【发布时间】:2019-05-07 15:23:16
【问题描述】:

我正在使用 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。如何将我的消息从视图发送到此模板?是否可以访问显示在 dropzone 的缩略图文件中的红十字消息?有人可以帮忙吗?

【问题讨论】:

    标签: django dropzone.js


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-06-14
      • 2014-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多