Как изменить внешний вид TextField в админке Django?
Я хочу увеличить размер текстовой области в форме администратора django.
html_content = models.TextField()
Используйте атрибут formfield_overrides
в классе ModelAdmin, чтобы указать виджет для всех экземпляров TextField. Например,
class HtmlModuleAdmin(admin.ModelAdmin):
list_display = ('description', 'enabled')
formfield_overrides = {
models.TextField: {'widget': forms.Textarea(attrs={'rows': 50, 'cols': 150})},
}
admin.site.register(HtmlModule, HtmlModuleAdmin)
Однако это повлияет на все вводы TextField для этой конкретной модели в админке.
Вы можете вставить это в ModelForm
и затем использовать эту форму в админке, например:
class HtmlModuleForm(forms.ModelForm):
class Meta:
model = HtmlModule
fields = '__all__'
widgets = {
'html_content': forms.Textarea(attrs={'rows': 50, 'cols': 150})
}
и подключите это к ModelAdmin
:
class HtmlModuleAdmin(admin.ModelAdmin):
form = HtmlModuleForm
admin.site.register(HtmlModule, HtmlModuleAdmin)