Как сделать так, чтобы они не могли создать пост с более чем 300 цифрами?
Я хочу сделать так, чтобы когда у вас больше 300 цифр, вы не могли нажать кнопку "Bloob" или что-то в этом роде. То, что находится слева - это счетчик с javascript. Модели таковы
class Post(models.Model):
timestamp = models.DateTimeField(default=timezone.now)
content = models.TextField(max_length=300)
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='posts')
Это PostForm
class PostForm(forms.ModelForm):
content = forms.CharField(widget=forms.Textarea(attrs={'class':'form-control w-100',
'id':'contentsBox', 'rows':'3',
'placeholder':'¿Qué está pasando?'}))
Изменение состояния кнопки bloob из активного в неактивное получает Донн на вашей веб-странице. При каждом нажатии клавиши в тексте вы должны запускать небольшой тест javascript, который устанавливает состояние кнопки bloob. Когда сообщение будет получено сервером, вы захотите проверить, что размер текста соответствует действительности. Существует возможность создать вредоносный запрос на отправку сообщения с недопустимыми параметрами. Проверьте на странице из вежливости к пользователю, а для безопасности проверьте на сервере. Помимо неактивной кнопки bloob, вы можете вывести на экран сообщение о превышении максимального размера текста и, возможно, поле количества символов, которое автоматически обновляется, все с помощью javascript.
не знаю, точно ли это то, что вам нужно.
но ниже описано, как ограничить количество символов в текстовом поле в html.
<input type="text" maxlength="10">
надеюсь, это поможет! :)
Ниже приведена ссылка на пример из w3schools.