Как сохранить объект класса ImageField в сеансе Django? - PullRequest
1 голос
/ 17 октября 2019

Мне не удалось сохранить объект класса ImageField в сеансе Django.

Тип объекта, который мне нравится сохранять в сеансе, указан ниже.

<class 'django.db.models.fields.files.ImageFieldFile'>

Причина, по которой яхочу сделать это

- это то, что я хочу сохранить данные до окончательной регистрации, чтобы эти данные размещенного изображения не исчезали при переходе от формы к странице подтверждения.

Я пробовал ниже.

views.py

class ProductRegister(LoginRequiredMixin, CreateView):
    template_name = 'app/product_register.html'
    form_class = ProductRegisterForm

    def form_valid(self, form):
        ctx = {'form': form}

        temporary_product_object = form.save(commit=False)
        self.request.session['product_image'] = temporary_product_object.product_image

        return render(self.request, 'app/product_register_confirm.html', ctx)


но произошла ошибка.

сообщение об ошибке

TypeError at /app/product_register/35
Object of type ImageFieldFile is not JSON serializable


Вот для справки models.py.

models.py

product_image = models.ImageField(
        upload_to='images/',
        blank=True,
        null=True,
    )

Любая обратная связь с благодарностью. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...