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

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

Сейчас я делаю это:

model.py:

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

template.html:

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

1 Ответ

2 голосов
/ 16 мая 2019

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

Состояние Django :

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

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

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

...