-- restructuredtext --


ReadOnlyWidget is a widget to display many kinds of django's modelfields read-only.

Currently supported modelfields:
  • TextField
  • CharField
  • IntegerField
  • BooleanField
  • FileField
  • ImageField
  • ForeignKey
  • ManyToManyField
  • DateTimeField
  • DateField

Extend the widget

It's easy to extend the widget. Just subclass it and add your get_modelfield_value method. Look at the existing methods to understand, how it works.


To use the widget, import it from django_readonlywidget.widgets and use ReadOnlyWidget or ReadOnlyMultiWidget (for ManyToManyField values) as your forms.Field widget. The usage in django's admin application is described in the example below.

Quick Example:

from django_readonlywidget.widgets import ReadOnlyWidget

class TestAdmin(admin.ModelAdmin):
    def formfield_for_dbfield(self, db_field, \**kwargs):
        field = super(TestAdmin, self).formfield_for_dbfield(db_field, \**kwargs)
        if field:
            field.widget = ReadOnlyWidget(db_field=db_field)
        return field

Have fun!