2017-07-03 5 views
0

Wenn ich versuche, ein Bildobjekt zu einem Imagefield ich die folgende Fehlermeldung erhalten zu speichern:Django ContentFile get_available_name() bekam ein unerwartetes Stichwort Argument ‚max_length‘

get_available_name() got an unexpected keyword argument 'max_length'

Der Code sieht wie folgt aus:

imagen_url = form.cleaned_data['imagen_url'] 
respuesta = requests.get(imagen_url) 
imagen = Image.open(StringIO(respuesta.content)) 
stringio_obj = StringIO() 
imagen.save(stringio_obj, format="JPEG") 
final_image = stringio_obj.getvalue() 
carta.creador = request.user 
carta.ultima_revision = datetime.today() 
carta.save() 
print("carta_id: %s" % carta.id) # Works correctly till here 

archivo_imagen = ContentFile(final_image, "0_" + carta.nombre) # Guarda la original con un 0 adelante 
carta.imagen_base.save("0_" + carta.nombre, archivo_imagen, save=True) 

Wenn ich versuche, das ContentFile Objekt in ImageField des Modells zu speichern, funktioniert es nicht. Früher arbeitete es in einer niedrigeren Version von Django, aber da ich nach Django 1.10 wechselte, hörte es auf zu arbeiten.

Das Modell ist einfach, es sieht wie folgt aus:

def ubicar_img_base(instance, filename): 
    nombre_archivo = "0_" + slugify(instance.nombre) + ".jpeg" 
    path = "/".join([instance.grupo.nombre, nombre_archivo]) 
    return path 

class CartaMagicPy(models.Model): 
    imagen_base = models.ImageField(null=True, upload_to=ubicar_img_base) 

Jede Beratung

Antwort

1

Ok helfen, hoffen, dass dies irgendwann jemand nützlich ist: Ich habe es boto und storages Aktualisierung gelöst. Dies kommt Ihnen bekannt vor, wenn Sie Amazon AWS verwenden.

Verwandte Themen