如何自定义Django管理员内部的特定TextField?

时间:2017-02-22 15:07:15

标签: django django-models django-forms django-admin

我的模型中有两个TextField。但我想更改TextField的行和列属性。我从this页面了解到TextField的外观可以使用admin.py中的以下代码进行更改。

class RulesAdmin(admin.ModelAdmin):
formfield_overrides = {
    models.TextField: {'widget': Textarea(
                       attrs={'rows': 1,
                              'cols': 40})},
}

...
admin.site.register(Rules, RulesAdmin)

正如我所说,使用上面的代码改变了TextField的外观,我只想改变其中一个是我的模型的样子:

class Post(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    pub_date = models.DateTimeField(auto_now_add=True)
    update_date = models.DateTimeField(auto_now=True)
    meta = models.TextField(blank=True)

    def __str__(self):
        return self.title

我只想更改meta字段的外观。

我应该怎么做?

1 个答案:

答案 0 :(得分:1)

将以下代码添加到panamabananas

forms.py

并在from django.forms import ModelForm, Textarea from .models import Lesson class PostModelForm(ModelForm): class Meta: model = Lesson fields = ('__all__') widgets = { 'meta': Textarea(attrs={'cols': 80, 'rows': 5}), } 执行此操作

admin.py