add: SEO-поля для блогов и миграция

This commit is contained in:
2026-05-10 18:53:34 +03:00
parent b615d2caa4
commit 1b2666f3d7
2 changed files with 58 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
# Generated by Django 5.2.13 on 2026-05-10 14:39
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('oknardia', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='blogposts',
name='sMetaDescription',
field=models.CharField(blank=True, default='', help_text='SEO: описание для мета-тега (до 160 символов). Если пусто, будет использоваться текст тизера из контента.', max_length=160, verbose_name='Meta описание'),
),
migrations.AddField(
model_name='blogposts',
name='sMetaKeywords',
field=models.CharField(blank=True, default='', help_text='SEO: ключевые слова для мета-тега (до 256 символов). Если пусто, будет использоваться заголовок.', max_length=256, verbose_name='Meta ключевые слова'),
),
migrations.AddField(
model_name='blogposts',
name='sSlug',
field=models.SlugField(blank=True, help_text='SEO: URL-friendly версия заголовка (автоматически генерируется, если оставить пусто)', max_length=200, verbose_name='Slug'),
),
migrations.AlterField(
model_name='blogposts',
name='dPostDataBegin',
field=models.DateTimeField(db_index=True, default=datetime.datetime(2026, 5, 10, 17, 39, 4, 114851), help_text='Если установить будущую дату, то в назначеное время пост появится автоматически.', verbose_name='Опубликован от'),
),
]

View File

@@ -1033,6 +1033,28 @@ class BlogPosts(models.Model):
db_index=False,
verbose_name=u"Создано"
)
sMetaDescription = models.CharField(
max_length=160,
blank=True,
default=u"",
verbose_name=u"Meta описание",
help_text=u"SEO: описание для мета-тега (до 160 символов). Если пусто, будет использоваться текст тизера из контента."
)
sMetaKeywords = models.CharField(
max_length=256,
blank=True,
default=u"",
verbose_name=u"Meta ключевые слова",
help_text=u"SEO: ключевые слова для мета-тега (до 256 символов). Если пусто, будет использоваться заголовок."
)
sSlug = models.SlugField(
max_length=200,
db_index=True,
blank=True,
verbose_name=u"Slug",
help_text=u"SEO: URL-friendly версия заголовка (автоматически генерируется, если оставить пусто)"
)
def __unicode__(self):
# return u'%s (%s)' % (self.sPostHeader, datetime.strftime(
@@ -1323,6 +1345,8 @@ class Win_MountDim(models.Model):
)
sFlapConfig = models.CharField(
max_length=32,
blank=True,
default=u"",
verbose_name=u"Открывание",
help_text=u"Рекомендуемая гор.архитектурой конфигурации открывания (МЕТАЯЗЫК)")
sDescripion = models.CharField(