class WEBPThumbnail(models.ImageField):
def __init__(self, *args, **kwargs):
self.max_width = kwargs.pop('max_width', 200)
self.max_height = kwargs.pop('max_height', 200)
super().__init__(*args, **kwargs)
def attr_class(self):
return WEBPThumbnailImg
def pre_save(self, model_instance, add):
file = super().pre_save(model_instance, add)
if file and not file._committed:
file.max_width = self.max_width
file.max_height = self.max_height
return file
WEBPThumbnailImg(ImageFieldFile)
если ваши условия True
то сохраняете изображения с новыми парметрами.class Category(models.Model)
return render_template('index.html', card=card) " # тогда используй название придуманного html который будет рендерится при редактирование.
<body>
<h1>Редактирование карточки</h1>
<form action="{{ url_for('upd_card', id=card.id) }}" method="POST">
<label for="name">Название:</label>
<input type="text" id="name" name="name" value="{{ card.name }}" required><br><br>
<label for="text">Текст:</label>
<textarea id="text" name="text" required>{{ card.text }}</textarea><br><br>
<input type="submit" value="Сохранить">
</form>
</body>
<a href="{{ url_for('upd_card', id=card.id) }}">Редактировать</a>
.last_slide {}
getBoundingClientRect()
Вот тут if type(client.ticket_mod) is not discord.Role:
f not isinstance(client.ticket_mod, discord.Role):
interaction.guild.get_role(id=1272562997054931095)
ret, frame = video_capture.read() # Считываем кадр
operatedImage = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY) # Используем 'frame', а не 'video_capture'
# Инициализация params
params = {
"access_token": ВАШ_ТОКЕН_ПОЛЬЗОВАТЕЛЯ,
"v": "5.131",
"owner_id": "-идентификатор группы",
"message": что-то там,
"from_group": 1, # пост от имени группы, если поставить 0 то будет от имени пользователя.
}