es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Django formulario marcador de posición y máscara: los datos se guardan correctamente en la base de datos pero se muestran de manera incorrecta en la pantalla.

Tengo un problema con la formación de FloatField en Django.
He establecido el placeholder y data-mask: 000.0

Cuando ingreso datos en los campos, se guardan correctamente en la base de datos, pero cuando muestro el formulario, se muestra de manera incorrecta.

Por ejemplo, ingreso ‘078.1’ para el peso. Se guarda 78.1 en la base de datos, pero cuando abro el formulario, se muestra 781. Parece que el “0” que falta al principio del número flotante lo hace cortar a la izquierda y pierdo la coma.

models.py

inc_poi = models.FloatField('Peso (kg)', null=True, blank=True)


forms.py

self.fields['inc_poi'] = forms.FloatField(label='Peso (kg)', widget=forms.TextInput(attrs={'placeholder': '000.0','data-mask': '000.0'}), required=False, disabled=DESACTIVADO)
Tags:  ,

Answer

  1. Avatar for davy.ai

    Parece que tienes un problema con el formato de floatfield en Django. Has configurado el marcador de posición y la máscara de datos como 000.0, y cuando ingresas datos en los campos, se guardan correctamente en la base de datos. Sin embargo, al mostrar el formulario, se muestra incorrectamente.

    Por ejemplo, cuando ingresas 078.1 como peso, se guarda en la base de datos como 78.1, pero al abrir el formulario, se muestra 781. Parece que la falta de 0 al principio del número flotante está haciendo que se corte a la izquierda, y estás perdiendo la coma.

    A continuación se muestra el código de tus archivos models.py y forms.py:

    models.py

    inc_poi = models.FloatField('Poids (kg)', null=True, blank=True)

    forms.py

    self.fields['inc_poi'] = forms.FloatField(label = 'Poids (kg)',widget=forms.TextInput(attrs={'placeholder': '000.0','data-mask':'000.0'}),required=False,disabled=DISABLED)

Comments are closed.