Перейти к содержанию

Генерация тестовых данных для Stories

Проблема

Использование стандартного Faker для генерации историй приводит к созданию бессмысленного текста ("lorem ipsum" или случайные слова) и отсутствию изображений (или битым ссылкам). Это ухудшает восприятие продукта при демонстрации и тестировании.

Решение

Для создания качественных тестовых данных используется подход "Predefined Templates + Randomization":

  1. Шаблоны: Заранее подготовленный список словарей с реалистичными заголовками, описаниями и тегами, специфичными для домена (Архыз, горы, лыжи, походы).
  2. Изображения: Использование прямых ссылок на Unsplash с параметрами оптимизации (auto=format&fit=crop&w=800&q=80). Это гарантирует наличие и качество изображений.
  3. Скрипт: api-admin/reseed_stories.py выбирает случайный шаблон, случайного пользователя (из существующих) и генерирует дату создания.

Пример шаблона

{
    "title": "Восхождение на Софийские озера",
    "description": "Сегодня был невероятный день! ...",
    "location": "Софийские озера",
    "tags": ["горы", "поход", "озера", "природа", "Архыз"],
    "images": [
        "https://images.unsplash.com/photo-1464822759023-fed622ff2c3b..."
    ]
}

Как использовать

Для обновления данных запустить:

python api-admin/reseed_stories.py
Скрипт удалит старые истории (20 шт.) и создаст новые.