6

Django を使用して Heroku にアプリをデプロイしました。これまでのところ動作しているようですが、新しいサムネイルのアップロードに問題があります。Pillow をインストールして、アップロード時に画像のサイズを変更し、元の画像ではなくサイズ変更されたサムネイルを保存できるようにしました。ただし、アップロードするたびに、「このバックエンドは絶対パスをサポートしていません」というエラーが表示されます。ページをリロードすると、新しい画像が表示されますが、サイズが変更されません。Amazon AWS を使用して画像を保存しています。

私はそれが私のmodels.pyと関係があるのではないかと疑っています。ここに私のサイズ変更コードがあります:

class Projects(models.Model):
    project_thumbnail = models.FileField(upload_to=get_upload_file_name, null=True, blank=True)

    def __unicode__(self):
        return self.project_name

    def save(self):
        if not self.id and not self.project_description:
            return

        super(Projects, self).save()
        if self.project_thumbnail:
            image = Image.open(self.project_thumbnail)
            (width, height) = image.size

        image.thumbnail((200,200), Image.ANTIALIAS)
            image.save(self.project_thumbnail.path)

私が見逃しているものはありますか?他に何か言う必要がありますか?

4

3 に答える 3

11

Heroku と AWS を使用して、FileField/ImageField の「path」のメソッドを「name」に変更するだけです。したがって、あなたの場合は次のようになります。

image.save(self.project_thumbnail.name)

それ以外の

image.save(self.project_thumbnail.path)
于 2016-04-15T13:19:56.053 に答える