2015-07-30 2 views
1

Почему это не работает?MissingErrorDelegate с django при загрузке и редактировании изображений

от wand.image импорта изображения

def upload_to_cars(instance, filename): 
     blocks = filename.split('.') 
     ext = blocks[-1] 
     filename = "%s.%s" % (instance.name.replace(" ", "-"), ext) 
     with Image (filename=filename) as img: 
       img.type='grayscale'; 
       img.save 
     return filename 
class Cars(models.Model): 
     name = models.CharField(max_length=200) 
     image_file = models.ImageField(upload_to=upload_to_cars, null=True, blank=True) 

Я хочу, чтобы загрузить изображение и его оттенки серого в Джанго. Everytime, когда я запускаю этот код он бросает

`расшифровывает делегат для этого формата изображения 'Porsche' @ ошибки/constitute.c/ReadImage/544

Porsche является именем класса и должно быть имя загруженного файла изображения

Помощь!

ответ

0

Это действительно просто, проблема в том, что изображение загружается в папку мультимедиа. Таким образом, простая строка с "media/" будет делать трюк:

def grey(): 
     with Image (filename=media) as img: 
      img.type='grayscale'; 
      img.save(filename=media) 

def upload_to_cars(instance, filename): 
    blocks = filename.split('.') 
    ext = blocks[-1] 
    filename = "%s.%s" % (instance.name.replace(" ", "-"), ext) 
    global media 
    media = "media/"+filename 
    t=Timer(1.0,grey) 
    t.start() 
    return filename 
Смежные вопросы