1. ホーム
  2. django

[解決済み] Django-Admin: CharField を TextArea にする

2023-01-16 14:31:57

質問

私は

class Cab(models.Model):
    name  = models.CharField( max_length=20 )
    descr = models.CharField( max_length=2000 )

class Cab_Admin(admin.ModelAdmin):
    ordering     = ('name',)
    list_display = ('name','descr', )
    # what to write here to make descr using TextArea?

admin.site.register( Cab, Cab_Admin )

管理画面の'descr'フィールドにTextAreaウィジェットを割り当てるには?

を更新してください。

管理者 インターフェースのみです!

モデルフォームを使うのは良いアイデアです。

どのように解決するのですか?

まず forms.ModelForm を作成する必要があります。 descr フィールドをどのように表示させたいかを記述し、次に admin.ModelAdmin にそのフォームを使うように指示します。例えば

from django import forms
class CabModelForm( forms.ModelForm ):
    descr = forms.CharField( widget=forms.Textarea )
    class Meta:
        model = Cab

class Cab_Admin( admin.ModelAdmin ):
    form = CabModelForm

form の属性は admin.ModelAdmin は Django の公式ドキュメントで説明されています。以下は を見る一つの場所です。 .