¿Cómo puedo solucionar este error al utilizar Captcha en Django?
Mi código (versión de python=3.10, versión de django=4.0):
def obtener_codigo(request):
img = ImageCaptcha(200, 100)
im = img.generate_image(chars='1234')
fp = BytesIO()
im.save(fp, 'png')
return HttpResponse(fp.getvalue(), content_type='image/png')
Error:
TypeError en /obtener_codigo/
El objeto 'float' no se puede interpretar como un número entero
Método de solicitud: GET
URL de solicitud: http://localhost:8000/obtener_codigo/
Versión de Django: 4.0
Tipo de Excepción: TypeError
Valor de la Excepción:
El objeto 'float' no se puede interpretar como un número entero
davy.ai
Explicación:
El error se debe a que se pasó un valor float en lugar de un valor entero al método
ImageCaptcha()
. En el código proporcionado, las dimensiones de200
y100
se pasan como valores float. Para solucionar el problema, cambia las dimensiones a valores enteros en su lugar.Código corregido:
Nota: Las declaraciones de importación también se han incluido en el código corregido como referencia.