Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

177
Views
La verificación CSRF falló después de agregar un campo de archivo en el modelo

Tengo un problema raro.
Así que tengo una aplicación en la que mi modelo estaba completamente bien hasta que le agregué un campo de archivo.

Ahora recibo un error de verificación CSRF fallida, incluso si no intento cargar un archivo y lo dejo en blanco, aparece el siguiente error.

ingrese la descripción de la imagen aquí

Este es mi modelo:

 class Municipality(models.Model): activate_date = models.DateField() deactivate_date = models.DateField() code = models.CharField(max_length=200) name = models.CharField(max_length=200) alt_name = models.CharField(max_length=200, blank=True, null=True) logo = models.FileField( upload_to='Logo/muni', max_length=200, blank=True, null=True)

Mi aplicación está configurada en AWS mediante AWS Lambda, S3 y otros servicios necesarios

Mi depósito S3 (donde se debe cargar mi archivo) está definido en mi archivo settings.py con la variable env que se ha definido en las variables de entorno de AWS Lambda

 AWS_STORAGE_BUCKET_NAME = env('AWS_STORAGE_BUCKET_NAME', default=None)

No entiendo por qué mi modelo no se guarda incluso si no incluyo un archivo.

Lo raro es que cuando estoy trabajando localmente, no me da este error. Y puedo guardar este modelo con o sin cargar un archivo.

Otros modelos en los que no se define Filefield o Imagefield funcionan perfectamente en línea y localmente.

¿Alguna razón por la que recibo este error cada vez que intento agregar un campo de archivo o un campo de imagen?

NOTA: Estoy trabajando en la interfaz DjangoAdmin y no en formularios personalizados, así que creo que Django agrega automáticamente el token csrf si tengo razón.

EDITAR: Noté que mi token csrf en mi cookie de encabezados de solicitud es diferente que en la carga útil de la solicitud, ¿es esto normal?

EDITAR: actualicé mi proyecto django a v4.0, ahora el error solo dice que CSRF token missing

EDITAR: descubrí que cuando guardo un modelo en el administrador que tiene un campo de imagen/archivo, mis datos POST no se envían con mi solicitud. Entonces tiene sentido que recibo un error, falta el token CSRF.

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

En primer lugar, debe verificar deshaciendo los cambios que realizó en el modelo. Si el problema persiste, es posible que haya realizado algún cambio en otro lugar. Pruébelo también desde un dispositivo y una cuenta de usuario diferentes (incluso después de borrar las cookies/recargar completamente, a veces los navegadores se comportan de forma inesperada). También puede probar las respuestas de estos enlaces ( enlace 1 , enlace 2 )

Verificar la fuente html puede ayudar. Además, si está utilizando formularios de administración de django personalizados, verifíquelos nuevamente si requieren algún cambio. El uso @csrf_exempt al probar diferentes escenarios puede ayudarlo a comprender si este error realmente se debe a csrf o si hay otro problema.

También vea esto en django docs .

over 4 years ago · Santiago Trujillo Report

0

Al usar un models.FileField en Django, el punto clave es declarar el enctype de la siguiente manera:

 <form enctype="multipart/form-data" action="" method="post"> ... {% csrf_token %} ... </form>

Veraquí

over 4 years ago · Santiago Trujillo Report

0

  1. Intenta borrar las cookies y actualizar
  2. Asegúrese de tener django.middleware.csrf.CsrfViewMiddleware en su middleware
  3. Compruebe que está en https o que tiene CSRF_COOKIE_SECURE=False
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!