【问题标题】:django.db.models ImageField save Image as Base64django.db.models ImageField 将图像保存为 Base64
【发布时间】:2020-08-21 04:34:37
【问题描述】:

我实际上是 Django 的新手。假设我有这个模型作为一个类

class UserAccount(AbstractBaseUser, PermissionsMixin):
  ...
  profile_photo = models.ImageField(
        upload_to='photos/profile-picture', blank=True)

  objects = UserAccountManager()
  def __str__(self):
        return self.email

我想将profile_photo 属性保存为base64 文件(而不是文件路径)。我该怎么做?

上下文:在我的客户端(前端)中,我无法通过获取图像的文件路径来渲染图像。所以我想将图像保存为数据库中的base64字符串而不是实际的图像路径,这样在前端渲染会更容易

【问题讨论】:

  • 您是否尝试像这样在模板中渲染图像 您应该通过获取图像的文件路径来渲染图像。如果不是,您可能没有在 settings.py 中指定 MEDIA_URL。您可以查看docs.djangoproject.com/en/3.1/howto/static-files
  • 不,我不使用来自 django HTML 模板的模板。我使用另一个框架(反应)进行模板,所以我无法访问它

标签: django image base64 python-imaging-library imagefield


【解决方案1】:

ImageField 具有“url”属性。它将与项目设置中的 MEDIA_URL 结合使用。

【讨论】:

  • 这里的事情,我使用我的前端在不同的端口上运行(用于客户端渲染),所以我无法访问 imagefield 的 url 属性
猜你喜欢
  • 2019-09-17
  • 2023-03-11
  • 2014-06-11
  • 2013-05-07
  • 2011-12-15
  • 1970-01-01
  • 1970-01-01
  • 2016-03-11
  • 1970-01-01
相关资源
最近更新 更多