Как добавить файлы в сессию 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 - Как использовать в памяти и временные файлы