【发布时间】:2017-09-28 04:13:05
【问题描述】:
之前我使用默认数据库 sqlite3,但今天我已将其更改为 postgresql。
我想将图像文件保存在数据库中而不是项目目录本身中。我该怎么做?
【问题讨论】:
之前我使用默认数据库 sqlite3,但今天我已将其更改为 postgresql。
我想将图像文件保存在数据库中而不是项目目录本身中。我该怎么做?
【问题讨论】:
将图像存储在 DB 中而不是 media 文件夹中并不是一个好主意。但是您可以为此使用BinaryField:
model.py
class MyModel(model.Model):
image = models.BinaryField(blank=True)
view.py
def image(request):
image_file = request.FILES['image_file'].file.read()
MyModel.objects.create(image=image_file)
【讨论】:
BinaryField 不是 ImageField ?使用ImageField 的优缺点是什么?
MEDIA_ROOT 文件夹中,BinaryField 存储在 DB 中。 TS想用BD。 docs.djangoproject.com/en/1.11/ref/models/fields/…