Gir*_*ore 1 python sqlite django django-models django-views
我是 Django 和数据库的新手。
Django 使用 sqlite 数据库作为默认数据库。是否可以将图像存储在 sqlite 数据库中并将其显示在我的网页上?我在 Django 官方网站上找不到任何相关文档。
Django 的ImageField和FileField都只是指向文件实际上传位置的链接。如果您阅读 Django 有关如何使用 imageField的文档,您可能会发现一个upload_to属性。
这两个字段都是在 Django 的 ORM 中实现的,并且与数据库无关(即应该在 SQLite、MySQL 或 Django 支持的任何其他数据库上工作)。
您可以查看有关如何管理文件的示例。
链接中的第一个示例显示了汽车模型并将图像上传到carsMEDIA_ROOT 文件夹下。
from django.db import models
class Car(models.Model):
name = models.CharField(max_length=255)
price = models.DecimalField(max_digits=5, decimal_places=2)
photo = models.ImageField(upload_to='cars')
Run Code Online (Sandbox Code Playgroud)
如果您确实需要将图像存储live在数据库中,您始终可以利用 django 的BinaryField并将整个图像保存为 BLOB。
from django.db import models
class Car(models.Model):
name = models.CharField(max_length=255)
price = models.DecimalField(max_digits=5, decimal_places=2)
photo_as_blob = models.BinaryField() # save photo as binary object
Run Code Online (Sandbox Code Playgroud)
正如您从其他答案中看到的那样,通常不认为将大文件直接保存在数据库中是一个好习惯。
| 归档时间: |
|
| 查看次数: |
5627 次 |
| 最近记录: |