Django не отправляет отрендеренный массив в Angular

Я пытаюсь создать API на Django, который получает изображение, применяет фильтр и возвращает изображение с фильтром на frontEnd, который сделан на Angular. Но когда я вызываю API, моя модель получает изображение, но не применяет фильтр и не возвращает измененное изображение. При этом метод POST не возвращает ничего, даже ошибку

Вот мой models.py:

def apply_filter(noisy_image, kernel):
    smoothed_image = np.zeros_like(noisy_image)
    for channel in range(noisy_image.shape[2]):
        for row in range(noisy_image.shape[0] - kernel.shape[0] + 1):
            for col in range(noisy_image.shape[1] - kernel.shape[1] + 1):
                sub_matrix = noisy_image[row:row + kernel.shape[0], col:col + kernel.shape[1], channel]
                smoothed_image[row + 1, col + 1, channel] = np.sum(sub_matrix * kernel)
    fig, ax = plt.subplots()
    ax.imshow(smoothed_image.astype(np.uint8))
    ax.axis('off')
    return fig


def default_image(image_array):
    # Load image
    fig, ax = plt.subplots()
    ax.imshow(image_array.astype(np.uint8))
    ax.axis('off')  # Hide axes
    return fig

def suavizado1(image_array):
    kernel_size = 12
    kernel = np.ones((kernel_size, kernel_size)) / (kernel_size ** 2)
    noise = np.random.normal(0, 10, size=image_array.shape)
    noisy_image = image_array + image_array * noise
    
    return apply_filter(noisy_image, kernel)

Вот мой views.py:

def processImage(request):
    if request.method == 'POST':
        uploaded_file = request.FILES['image']
        filter_name = request.POST.get('filter') 
        image_path = default_storage.save('uploaded_images/' + uploaded_file.name, ContentFile(uploaded_file.read()))
        print(image_path)
        #Load image
        imagen = Image.open(image_path)
        image_array = np.array(imagen)
        print(image_array)
        # aplica el filtro seleccionado
        if filter_name == 'smooth':
            output = models.suavizado1(image_array)
        elif filter_name == 'reset':
            output = models.default_image(image_array)
        else:
            # Valor predeterminado al cargar la pagina
            output = models.default_image(image_array)
        
        JsonResponse({'result': 'success'})
        buffer = io.BytesIO()
        output.savefig(buffer, format='png')
        buffer.seek(0)
        image_png = buffer.getvalue()
        buffer.close()
        graphic = base64.b64encode(image_png).decode('utf-8')

        return render(request, 'index.html', {'graphic': graphic})
Вернуться на верх