read only form fields disable python django forms django-forms readonly

python - only - Campo de solo lectura en formulario Django



django modelform field readonly (3)

¿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


Puede usar el parámetro attrs opcional cuando defina el Field . Esto es:

somefield = forms.CharField( widget=forms.TextInput(attrs={''readonly'':''readonly''}) )