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

232
Visualizações
subir videos en Djnago rest framework

Creé una API de publicación que cargará imágenes y videos para blogs. Puedo manejar múltiples imágenes, no hay problema allí. Pero también tengo que enviar un video desde la interfaz. He usado Filefield para video. No soy un experto en apis pero lo que pienso es que como el código que he escrito es sincrónico, todo lo que he escrito se hará al mismo tiempo. Ahora, el problema es que si un usuario desea cargar un video muy grande, por ejemplo, de 200 a 500 mb, la respuesta a la llamada posterior a la API será muy larga. ¿Hay alguna manera de que pueda guardar primero la publicación del blog, devolver la respuesta y luego comenzar a cargar el video en la base de datos del servidor en vivo?

Mis modelos:

 class Blogposts(models.Model): blog_title = models.CharField(max_length=100blank=True) video = models.FileField(upload_to="media", null= True)

Traté de usar señales de django, pero, de nuevo, las señales de django también son síncronas. Todo lo que dije anteriormente también podría estar mal, no estoy seguro. Pero, ¿cómo abordar esto? ¿O debería usar apio django?

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

0

DRF ya tiene actualizaciones parciales. Usa eso. Es decir, realiza una solicitud de publicación solo para los campos que no son de archivo. Haga que el campo de video en blanco sea verdadero nulo verdadero.

Una vez que se hace con éxito, obtienes la identificación de tu publicación en respuesta. Luego haga una solicitud de parche para cargar el archivo.

Su algo de javascript puede verse más o menos así

 const handleFormSubmit => (data) { file = data.video_file; delete data.video_file; axios.post('/blogs/', data).then(response => { updateUiShowCreatedBlogWithVideoUploading(); id = response.id; fileUploadRequestData = { file: file } axios.patch('/blogs/${id}/', file).then(response => { updateUiShowCreatedBlogWithVideoUploaded(); }); }); }

Pero, en general, para archivos grandes, los subiría directamente a un almacén de objetos (como S3) desde el navegador y no me molestaría en el proceso de django. Una vez hecho esto, adjunte el objeto como en el parche. En este caso, su modelo será solo un campo de URL y no FileField.

Si eso es demasiado, al menos use django-storages y deje que la biblioteca maneje la carga a S3 desde su backend.

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