Как сохранить файл в базе данных вместо загрузки в медиа-папку сервера, используя models.FileField?

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

Прямо сейчас я делаю это:

model.py:

File = models.FileField(upload_to='CSR/', null=True , blank = True)

template.html:

<td> {{certificate.File.url}} </td>

Всего 1 ответ


Django поддерживает BinaryField который позволяет хранить двоичные данные в базе данных.

Документация Джанго гласит :

Злоупотребление BinaryField

Хотя вы можете подумать о хранении файлов в базе данных, учтите, что это плохой дизайн в 99% случаев. Это поле не является заменой для правильной обработки статических файлов.

Если вы не хотите хранить файлы в файловой системе вашего веб-сервера, вы можете использовать библиотеку django-storages, которая предоставляет опции для Amazon S3, DigitalOcean и других.


Есть идеи?

10000