【问题标题】:Django Python: Save Image when saving model to Amazon S3Django Python:将模型保存到 Amazon S3 时保存图像
【发布时间】:2020-06-23 22:09:27
【问题描述】:

我已将我的 Django 应用程序配置为将媒体文件上传到 AWS S3,这适用于我的上传,但我正在尝试使用 python qrcode 生成和保存 QR 码,但我找不到方法在文档中执行此操作。它目前保存到 Heroku 静态,它不起作用,因为它只是暂时的,而且我有多个测功机。

到目前为止,这是我的模型:

class Car(models.Model):
   make= models.ForeignKey(Make,on_delete=models.CASCADE)
   number = models.IntegerField()
   deleted = models.BooleanField(default=False)
   qrcode = models.ImageField(upload_to="qrcodes",blank=True,null=True)

   def save(self, *args, **kwargs):
       import qrcode
       qrcode_img = qrcode.make('https://myurl.com/?c=' + str(self.id) + '&make=' + str(self.make.id))
       filepath = '/img/tmp/r' + str(self.make.id) + 't' + str(self.id) + '.png'
       filename = 'r' + str(self.make.id) + 't' + str(self.id) + '.png'

       buffered = BytesIO()
       qrcode_img.save(buffered, format="PNG")
       img_str = base64.b64encode(buffered.getvalue()).decode()
       self.qrcode = img_str

       super(Car, self).save(*args, **kwargs)



目前它也忽略了文件名和文件路径,只有一个字符串保存在我的数据库中,而我希望文件上传到 S3 并使用文件路径设置文件的链接。

谢谢

【问题讨论】:

    标签: python django


    【解决方案1】:

    我改变了方法并使用了 django-qr-codes,它在模板中动态呈现 QR 码

    【讨论】:

      猜你喜欢
      • 2011-12-20
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-05
      • 2011-05-03
      • 1970-01-01
      相关资源
      最近更新 更多