diff --git a/oknardia/oknardia/models.py b/oknardia/oknardia/models.py index 4e9ec69..3d7c9f3 100644 --- a/oknardia/oknardia/models.py +++ b/oknardia/oknardia/models.py @@ -8,7 +8,8 @@ from datetime import date, datetime from django.utils import timezone from django.contrib.auth.models import User from oknardia.settings import * - +from web.add_func import sanitize_slug, safe_html_spec_symbols +import re # Таблица: Каталог профилей, стеклопакетов (добавлено 09.авг.2017) # create table oknardia_catalog2profile @@ -1074,19 +1075,15 @@ class BlogPosts(models.Model): """ # Шаг 1: Автоматически генерируем слаг из заголовка, если он не указан if not self.sSlug and self.sPostHeader: - from web.add_func import sanitize_slug self.sSlug = sanitize_slug(self.sPostHeader, max_length=200) # Шаг 2: Автоматически генерируем sMetaDescription из контента (тизер) if not self.sMetaDescription and self.sPostContent: - import re - from web.add_func import sanitize_slug - # Удаляем теги из контента content_clean = re.sub(r'', '', self.sPostContent, flags=re.IGNORECASE) # Генерируем тизер (очищенный текст без HTML) - tizer = sanitize_slug(content_clean, max_length=200) + tizer = safe_html_spec_symbols(content_clean) # Обрезаем до 160 символов для мета-description if len(tizer) > 160: @@ -1097,8 +1094,6 @@ class BlogPosts(models.Model): # Шаг 3: Автоматически генерируем sMetaKeywords из заголовка if not self.sMetaKeywords and self.sPostHeader: - from web.add_func import sanitize_slug - import re # Берём заголовок и удаляем HTML-теги header_clean = re.sub(r'<[^>]+>', '', self.sPostHeader) diff --git a/oknardia/web/management/commands/populate_seo_fields.py b/oknardia/web/management/commands/populate_seo_fields.py index 605def7..2e0bdb0 100644 --- a/oknardia/web/management/commands/populate_seo_fields.py +++ b/oknardia/web/management/commands/populate_seo_fields.py @@ -21,7 +21,7 @@ from django.core.management.base import BaseCommand from django.utils import timezone from oknardia.models import BlogPosts -from web.add_func import sanitize_slug +from web.add_func import sanitize_slug, safe_html_spec_symbols class Command(BaseCommand): @@ -115,7 +115,7 @@ class Command(BaseCommand): # Генерируем sMetaDescription if not post.sMetaDescription and post.sPostContent: content_clean = re.sub(r"", "", post.sPostContent, flags=re.IGNORECASE) - tizer = sanitize_slug(content_clean, max_length=200) + tizer = safe_html_spec_symbols(content_clean) if len(tizer) > 160: # Обрезаем по последнему пробелу перед 160-й позицией