You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Django Admin中TextField的外观?增大文本区域尺寸

增大Django Admin中TextField表单区域的尺寸

针对你的html_content = models.TextField()字段,有几种实用方法可以调整它在Admin表单中的显示尺寸:

方法1:针对单个字段配置Widget

直接在模型对应的Admin类里,为html_content字段指定带属性的Textarea组件:

from django.contrib import admin
from django.forms import Textarea
from .models import YourModel  # 替换为你的实际模型名称

class YourModelAdmin(admin.ModelAdmin):
    def formfield_for_dbfield(self, db_field, **kwargs):
        field = super().formfield_for_dbfield(db_field, **kwargs)
        if db_field.name == 'html_content':
            # rows控制高度行数,cols控制宽度列数,按需修改数值
            field.widget = Textarea(attrs={'rows': 20, 'cols': 100})
        return field

admin.site.register(YourModel, YourModelAdmin)

方法2:批量设置所有TextField尺寸

如果想让该模型下所有TextField统一调整显示大小,用formfield_overrides批量配置:

from django.contrib import admin
from django.forms import Textarea
from .models import YourModel
import django.db.models as models

class YourModelAdmin(admin.ModelAdmin):
    formfield_overrides = {
        models.TextField: {'widget': Textarea(attrs={'rows': 20, 'cols': 100})},
    }

admin.site.register(YourModel, YourModelAdmin)

方法3:通过自定义表单类控制

适合需要搭配其他表单逻辑的场景,先定义ModelForm再关联到Admin:

from django.contrib import admin
from django import forms
from .models import YourModel

class YourModelForm(forms.ModelForm):
    class Meta:
        model = YourModel
        fields = '__all__'
        widgets = {
            'html_content': forms.Textarea(attrs={'rows': 20, 'cols': 100}),
        }

class YourModelAdmin(admin.ModelAdmin):
    form = YourModelForm

admin.site.register(YourModel, YourModelAdmin)

方法4:CSS自定义样式

如果需要更灵活的样式(比如百分比宽度、自定义内边距),可以添加自定义CSS:

  1. 创建CSS文件(例如static/css/admin_custom.css):
#id_html_content {
    height: 400px;  /* 固定高度 */
    width: 95%;     /* 相对父容器的宽度 */
    padding: 8px;
}
  1. 在ModelAdmin中引入该CSS:
class YourModelAdmin(admin.ModelAdmin):
    class Media:
        css = {
            'all': ('css/admin_custom.css',)
        }

你可以根据实际需求选择合适的方法,调整对应的数值即可。

内容的提问来源于stack exchange,提问作者Chandragupta Borkotoky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 02:48:13