(AttributeError: модуль 'PIL.Image' не имеет атрибута '_meta') При изменении размера изображений с подушкой - PullRequest
0 голосов
/ 01 мая 2020

Я пытался изменить размер изображения, но потом, когда мне нужно было запустить код, он обнаружил эту ошибку: `AttributeError: модуль 'PIL.Image' не имеет атрибута '_meta' Это мои модели .py файл:

from django.db import models
from PIL import Image

class LmtbProject(models.Model):
title = models.CharField(max_length=200)
description = models.TextField()
public = models.BooleanField(default=True)
LmtbImage = models.ImageField(blank=True)

def __str__(self):
    return f'{self.title}'
def save(self):
    super().save()

    img = Image.open(self.LmtbImage.path)
    output_size = (1000, 800)
    img.thumbnail(output_size)
    img.save(self.LmtbImage.path)

class SecondaryImage(models.Model):
MyProject = models.ForeignKey(LmtbProject, default=None, on_delete=models.CASCADE)
image = models.ImageField(upload_to='images/')

def __str__(self):
    return f'{self.MyProject.title}'

def save(self):
    super().save()

    img = Image.open(self.image.path)
    output_size = (1000, 800)
    img.thumbnail(output_size)
    img.save(self.image.path)

`Это мой взгляд, который я использую с ним:

def project(request):
projects = LmtbProject.objects.all()
context = {
    'projects': projects
}
return render(request, 'projects.html', context)

def project_detail(request, id):
project = get_object_or_404(LmtbProject, id=id)
photos = SecondaryImage.objects.filter(MyProject=project)
return render(request, 'project-detail.html', {'project': project, 'photos': photos})
...