faq frontend typeguards

This commit is contained in:
2025-05-15 19:50:13 +03:00
parent fd5caada23
commit ac8c3a33ed
11 changed files with 165 additions and 3 deletions

View File

@@ -1,4 +1,8 @@
from django.db import models
from django.utils.text import slugify
from django.db.models.signals import pre_save
from django.dispatch import receiver
from transliterate import translit
class FAQ (models.Model):
title = models.CharField(max_length=250)
@@ -12,3 +16,25 @@ class FAQ (models.Model):
def __str__(self):
return self.title
class News(models.Model):
titleImage = models.ImageField(verbose_name="Главная картинка")
title = models.CharField(max_length=100, verbose_name="Заголовок")
content = models.TextField(max_length=1000, verbose_name="Контент статьи")
slug = models.SlugField(null=True, blank=True, editable=False)
created_at = models.DateTimeField(auto_now_add=True, null=True, blank=True)
class Meta:
verbose_name = 'Новость'
verbose_name_plural = 'Новости'
ordering = ['id']
def __str__(self):
return self.title
@receiver(pre_save, sender=News)
def generate_slug(sender, instance, **kwargs):
if not instance.slug:
# транслит с русского на латиницу
transliterated_title = translit(instance.title, 'ru', reversed=True)
# создаем слаг и заменяем пробелы на дефисы
instance.slug = slugify(transliterated_title)