Django виджет в формах работает некорректно - PullRequest
0 голосов
/ 06 марта 2020

Я использую django виджетов в своем forms.py для поля содержимого. Но всякий раз, когда я изменяю столбец и строки в forms.py с виджетами, он не меняется в шаблоне.

Мои forms.py:

from django import forms
from .models import Comment


class CommentForm(forms.ModelForm):
    class Meta:
        model = Comment
        content = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'Text goes here', 'rows': '4', 'cols': '10'}))
        fields = ('content',)

1 Ответ

0 голосов
/ 06 марта 2020

Поля должны быть определены за пределами Meta:

class CommentForm(forms.ModelForm):
    content = forms.CharField(widget=forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'Text goes here', 'rows': '4', 'cols': '10'}))

    class Meta:
        model = Comment
        fields = ('content',)

Также, если вы хотите настроить виджет, вы можете использовать widgets meta:

class CommentForm(forms.ModelForm):
    class Meta:
        model = Comment
        fields = ('content',)
        widgets = {
            'content': forms.Textarea(attrs={'class': 'form-control', 'placeholder': 'Text goes here', 'rows': '4', 'cols': '10'})
        }

Обратитесь к , переопределяющему поля по умолчанию в документации Django для получения дополнительной информации.

...