Как решить проблему неработающего атрибута формы Django

Все атрибуты формы работают нормально, кроме textarea. Вот мой код:

# forms.py
class VineyardForm(forms.ModelForm):
    class Meta:
        model = Vineyard
        fields = [
            "name", "text", "wine_rg", "wines", "size", "grapes",
            "owner", "visits", "region", "regions", "cover"
        ]
        labels = {
            "name": "Vineyard or Property Name",
            "text": "Vineyard Description and Information",
            "wine_rg": "Wine Region and Country",
        }
        widgets = {
            "name": forms.TextInput(attrs={"placeholder": "Name of your vineyard..."}),
            "text": forms.Textarea(attrs={"placeholder": "something"}),
            "wine_rg": forms.TextInput(attrs={"placeholder": "Where is your vineyard located: region and country..."}),
        }

Когда я смотрю в инспектор страницы, я вижу этот код: enter image description here

Я думаю, что проблема в том, что я использую ckeditor. Есть предложения?

<1>> в пакете RichTextFormField плохо закодирован, и перезаписывает любое обновление, сделанное с помощью опции django-ckeditor:widgets


class RichTextFormField(forms.fields.CharField):

    def __init__(self, config_name='default', extra_plugins=None, external_plugin_resources=None, *args, **kwargs):
        kwargs.update({'widget': CKEditorWidget(config_name=config_name, extra_plugins=extra_plugins,
                                                external_plugin_resources=external_plugin_resources)})
        super(RichTextFormField, self).__init__(*args, **kwargs)

Однако вы можете обновить атрибуты виджета в конструкторе ModelForm:



class VineyardForm(forms.ModelForm):

    def __init__(self, *args, **kw):
        super(VineyardForm, self).__init__(*args, **kw)
        self.fields['text'].widget.attrs['placeholder'] = "something"
    
Вернуться на верх