Изменить размер полей в Django Admin

Вы можете установить произвольные py атрибуты HTML для виджета, используя python-interpreter его "attrs" property.

Вы можете сделать это python-shell в админке Django с помощью django-admin formfield_for_dbfield:

class MyModelAdmin(admin.ModelAdmin):
  def formfield_for_dbfield(self, db_field, **kwargs):
    field = super(ContentAdmin, self).formfield_for_dbfield(db_field, **kwargs)
    if db_field.name == 'somefield':
      field.widget.attrs['class'] = 'someclass ' + field.widget.attrs.get('class', '')
    return field

или django-admin с пользовательским подклассом django виджетов и formfield_overrides dictionary:

class DifferentlySizedTextarea(forms.Textarea):
  def __init__(self, *args, **kwargs):
    attrs = kwargs.setdefault('attrs', {})
    attrs.setdefault('cols', 80)
    attrs.setdefault('rows', 5)
    super(DifferentlySizedTextarea, self).__init__(*args, **kwargs)

class MyModelAdmin(admin.ModelAdmin):
  formfield_overrides = { models.TextField: {'widget': DifferentlySizedTextarea}}

python

django

django-models

django-admin

2022-11-20T23:51:27+00:00
Вопросы с похожей тематикой, как у вопроса:

Изменить размер полей в Django Admin