Как добавить файлы в сессию Django?

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

Я использовал сессии Django для хранения строковых данных. Но я хочу хранить также и файлы. Я использовал следующий код :

В HTML:

<form method="POST" enctype="multipart/form-data">

       <input type="file" name="filename">

</form>

В views.py :

if request.method == "POST":
    request.session['filename'] = request.FILES['filename']

Выдаёт ошибки : Object of type InMemoryUploadedFile is not JSON serializable

Эта ошибка возникла потому, что вам запрещено помещать в сессию несериализуемые объекты.

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

Смотрите подробнее:

Python и Django - Как использовать в памяти и временные файлы

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