Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

339
Visualizações
Problema con el token CSRF cuando agrego dropzone a un formulario existente en Django

Estoy trabajando con un formulario Django usando dropzone para cargar imágenes. Pero no quiero agregar la zona de descenso a todo el formulario, solo a una parte del mismo. Aquí está la plantilla:

 {% extends 'base.html' %} {% load static %} {% load i18n %} {% block content %} <h6>UPLOAD MULTIPLE IMAGES NOW</h6> <br> <div class="formdiv" style="width:100%"> <form enctype="multipart/form-data" action="upload/" methd="POST"> {% csrf_token %} <fieldset> <label for="yourname">Yourname <input type="text" value="name" /> </label> <div class="dropzone dz" id="my-dropzone"> <div class="dz-message" data-dz-message><span>{% trans "Drop here or click to upload" %}</span></div> <div class="fallback"> <input name="file" type="file" multiple /> </div> </div> </fieldset> </form> </div> {% endblock %}

El problema es que cuando intento subir cualquier imagen me sale un mensaje de error de Prohibido con el siguiente texto:

 CSRF token missing or incorrect.

Tenga en cuenta que si class="dropzone dz" id="my-dropzone" del div y lo coloco dentro de la etiqueta <form> , todo funcionará. El problema comenzó exactamente cuando moví Dropzone en un div porque no quería que se aplicara a todo el formulario.

Aquí está mi código de configuración de dropzone:

 Dropzone.autoDiscover=false; const myDropzone = new Dropzone('#my-dropzone',{ url:'upload/', maxFiles:15, maxFilesize:5, // 5 mb max //parallelUploads:2, // if image is horizontal, then resize it if it's more than resizeWidth resizeWidth:1024, // if the image is vertical, then resize if it's more than resizeHeight resizeHeight:1024, // also they can be mime such as image/png acceptedFiles: ".png,.jpg,.gif,.bmp,.jpeg,.webp", // default is false and it allows to delete uploaded files addRemoveLinks: true, // this is the element where the remove button or text will be located dictRemoveFile: "<div><span class='fa fa-trash text-danger' style='font-size: 1.5em;cursor:pointer'></span></div>", /* the following solution failed headers: { 'X-CSRFToken': $('meta[name="token"]').attr('content') } */ });

¿Qué tengo que hacer para solucionar este problema?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Al mirar los documentos de Django, veo que se llama X-CSRFToken no X-CSRF-TOKEN . Intente arreglar eso y descomentar su código de encabezado.

El código que veo en los documentos para obtener el token es document.querySelector('[name=csrfmiddlewaretoken]').value intenta reemplazar el tuyo con eso. Solo asegúrese de tener {% csrf_token %} en alguna parte de su página.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda