Загрузите изображение в клиент Django

Моя проблема в том, что загрузка не начинается, когда я отправляю форму, в первый раз я создал ее в представлении и она работала, но для порядка и эффективности я решил передать часть представления в модель, но это не работает

     class Archivo(models.Model):
    Archivo = models.ImageField(upload_to="Seccion1")
    
    def descarga1(archivo_nombre):
        # Obtén la ruta completa del archivo
        archivo_ruta = os.path.join(settings.BASE_DIR, "media", "Seccion1", archivo_nombre)

        # Crea un objeto FileResponse con la ruta del archivo
        response = FileResponse(open(archivo_ruta, "rb"))

        # Indica que el archivo debe tratarse como un adjunto para descargar
        response['Content-Disposition'] = 'attachment; filename="Hola.png"'

        return response
    


     class Jpgtopng(View):
    def get(self,request):
        return render(request,"Pngtojpg.html",{"form":Formext})
    def post(self,request):
        Formulario = Formext(request.POST,request.FILES)#?Recibimos datos del formulario
        if Formulario.is_valid():
            imagen = Formulario.cleaned_data["Archivo"]
            imagen_nombre = imagen.name
            if Formulario.Extension(imagen_nombre):
                Formulario.save()
                Archivo.descarga1(imagen_nombre)  # Pasa el nombre del 
                archivormulario.Extension(Imagenrn):#?Pero antes de guardarlo verifica que 
                       su extension sea valida 
            else:
                return HttpResponse("Extension incorrecta")
        else:
            #? En caso de no ser valido reenviamos el formulario
            return render(request,"Pngtojpg.html",{"Formu":Formulario})
        return HttpResponse("Hubo un error")




      <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <!--El multipar/form-data sirve para que el formulario pueda enviar archivos-->
    <form action="" method="POST" enctype="multipart/form-data">{% csrf_token %}

    
     {{form}}
     <button type="submit"></button>
    </form>
   
</body>
</html>


Мне просто нужно это, если вы можете порекомендовать другие вещи, потому что, возможно, некоторые части моего кода не так эффективны, и, возможно, вы упомянете об этом в любом случае

Вернуться на верх