Django — ограничение количества символов, разрешенных для ввода в текстовое поле

#django #django-models #textbox #django-forms

#django #django-модели #текстовое поле #django-формы

Вопрос:

Вот мой models.py:

 class Blog(models.Model):
    blogPost = models.CharField(max_length=200)
 

и вот мой forms.py:

 class BlogForm(forms.ModelForm):
    class Meta:
        model = Blog
        fields = ['blopPost']
        widgets = { 'blogPost' : forms.Textarea(attrs={'rows':5, 'cols':90}) }
 

В настоящее время пользователь может вводить в текстовое поле столько символов, сколько он хочет, и он получит сообщение об ошибке только после того, как пользователь отправит текст. Я хочу, чтобы пользователь мог вводить только 200 символов, и в тот момент, когда он достигает 200 символов, текстовое поле не позволяет пользователю вводить что-либо еще (даже до того, как он отправит его). Как бы я это сделал?

Ответ №1:

Используйте maxlength атрибут для вашего textarea HTML-элемента.

 class BlogForm(forms.ModelForm):
    class Meta:
        model = Blog
        fields = ['blogPost']
        widgets = {
            'blogPost' : forms.Textarea(attrs={
                'rows': '5',
                'cols': '90',
                'maxlength': '200',
            }),
        }