python - disable - readonly fields django form




Campo de solo lectura en formulario Django (2)

¿Cómo configuro un campo como de solo lectura en un formulario de Django? Sé cómo desactivar un campo, pero eso no es lo que estoy buscando. Cualquier ayuda sería apreciada.


En Django 1.9+ :

somefield = forms.CharField(disabled=True)

En django 1.9 en un atributo Field.disabled disponible: https://docs.djangoproject.com/en/1.9/ref/forms/fields/#disabled

El argumento booleano desactivado, cuando se establece en True, deshabilita un campo de formulario utilizando el atributo HTML deshabilitado para que los usuarios no lo puedan editar. Incluso si un usuario manipula el valor del campo enviado al servidor, se ignorará a favor del valor de los datos iniciales del formulario.

de otra manera

use el atributo 'readonly' del widget

class PatientForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):
       super(PatientForm, self).__init__(*args, **kwargs)
       self.fields['field'].widget.attrs['readonly'] = True

    class Meta:
        model = Patient




readonly