Первая часть:
Просто передайте это так: sizes=( (56,34), (195,123), )
Вторая часть:
Вы можете указать функцию для upload_to
, которую Django будет вызывать, передавая ей экземпляр модели и исходное имя файла. С этим вы можете собрать функцию, которая переименовывает файл, основываясь на слаге, потому что Django будет использовать все, что вы вернете вместо этого. Непроверенный код, но что-то вроде этого:
def _Foo_img_name(instance, filename):
# grab the extension
left_path, extension = self.file.name.rsplit('.',1)
# change the filename then return
return 'uploads/%s.%s' % (instance.slug, extension)
class Foo(models.Model):
img = ImageWithThumbnailsField(upload_to=_Foo_img_name, ... )
Я не верю, что вы можете это изменить <filename>_56x34.jpg
на что-то, кроме этого.