Django rest framework возвращает URL-адрес изображения в кодировке base64

У меня есть свой viewset, который возвращает изображение в кодировке basse64 в переменной image:

with open(f"image_file.jpg" , "rb") as image_file:
            order.image = base64.encodebytes(image_file.read()).decode('utf-8')

Дело в том, что если этот код выполняется локально, как python script.py, он возвращает правильный base64, и я могу его отобразить, но этот viewset возвращает base64, который закодирован в URL. Вместо того чтобы вернуть что-то вроде NMR//9k=, он возвращает NMR/9k%3D%0A.

Как я могу это изменить? Мне нужна правильная кодировка base64 для отображения изображения на передней панели.

Мне удалось решить эту проблему, создав dict для изображений base64 вне сериализатора модели, который выполнял кодирование URL. Мне также пришлось удалить символы новой строки, поскольку ответ рисовал их как символы.

with open(f"image_file.jpg" , "rb") as image_file:
    images_dict["image_1"] = base64.encodebytes(image_file.read()).decode('utf-8').replace("\n", "")
Вернуться на верх