gpt4 book ai didi

django - 如何在 Django 模型中将文件内容作为 CharField 传递?

转载 作者:行者123 更新时间:2023-12-04 08:16:26 25 4
gpt4 key购买 nike

我有一个图标模型,如下所示:

class Icon(models.Model):
name = models.CharField(max_length=50)
icon = models.FileField(upload_to='icons/', blank=True, null=True)
inline_svg = models.CharField(max_length=1000, blank=True)
大多数文件都是 .svg,我想传入 inline_svg在前端使用内联 svg 的相应文件的内容。我怎样才能做到这一点?或者也许有更好的变体来做我想做的事?
也有这样的想法:
class Icon(models.Model):
def svg(self):
f = open(self.icon.url)
return f.read()
name = models.CharField(max_length=50)
icon = models.FileField(upload_to='icons/', blank=True, null=True)
inline_svg = models.CharField(max_length=1000, default=svg())

最佳答案

让我们看看我是否正确理解了你的问题。用户上传文件,当文件为svg时,要存放在inline_svg ?

class Icon(models.Model):
name = models.CharField(max_length=50)
icon = models.FileField(upload_to='icons/', blank=True, null=True)
inline_svg = models.CharField(max_length=1000, default='')

def save(self, *args, **kwargs):
if self.icon.name.endswith('.svg'):
self.inline_svg = self.icon.read()
super().save(*args, **kwargs)

关于django - 如何在 Django 模型中将文件内容作为 CharField 传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65679601/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com