Files
smartsoltech_site/create_test_projects.py
Andrey K. Choi b51d79c5a1
Some checks failed
continuous-integration/drone/push Build is failing
Implement modern media gallery with enhanced features
- Fix CSS loading issue in project_detail.html template
- Add comprehensive ModernMediaGallery JavaScript class with touch navigation
- Implement glassmorphism design with backdrop-filter effects
- Add responsive breakpoint system for mobile devices
- Include embedded critical CSS styles for gallery functionality
- Add technology sidebar with vertical list layout and hover effects
- Support for images, videos, and embedded content with thumbnails
- Add lightbox integration and media type badges
- Implement progress bar and thumbnail navigation
- Add keyboard controls (arrow keys) and touch swipe gestures
- Include supplementary styles for video/embed placeholders
- Fix template block naming compatibility (extra_css → extra_styles)
2025-11-26 18:52:07 +09:00

192 lines
10 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
import os
import sys
import django
from datetime import datetime, date
# Настройка Django
sys.path.append('/app/smartsoltech')
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'smartsoltech.settings')
django.setup()
from web.models import Project, Category, Client, Service, Order
from django.contrib.auth.models import User
def create_test_projects():
# Создаем или получаем категории
categories = []
cat_web, _ = Category.objects.get_or_create(
slug='web-development',
defaults={
'name': 'Веб-разработка',
'icon': 'fas fa-code',
'order': 1,
'description': 'Создание веб-сайтов и приложений'
}
)
categories.append(cat_web)
cat_mobile, _ = Category.objects.get_or_create(
slug='mobile-apps',
defaults={
'name': 'Мобильные приложения',
'icon': 'fas fa-mobile-alt',
'order': 2,
'description': 'Разработка iOS и Android приложений'
}
)
categories.append(cat_mobile)
cat_design, _ = Category.objects.get_or_create(
slug='design',
defaults={
'name': 'Дизайн',
'icon': 'fas fa-palette',
'order': 3,
'description': 'UI/UX дизайн и брендинг'
}
)
categories.append(cat_design)
cat_analytics, _ = Category.objects.get_or_create(
slug='analytics',
defaults={
'name': 'Аналитика',
'icon': 'fas fa-chart-bar',
'order': 4,
'description': 'Системы аналитики и отчетности'
}
)
categories.append(cat_analytics)
cat_ecommerce, _ = Category.objects.get_or_create(
slug='ecommerce',
defaults={
'name': 'E-commerce',
'icon': 'fas fa-shopping-cart',
'order': 5,
'description': 'Интернет-магазины и торговые платформы'
}
)
categories.append(cat_ecommerce)
# Создаем или получаем тестового клиента
client, _ = Client.objects.get_or_create(
email='test@example.com',
defaults={
'first_name': 'Тестовый',
'last_name': 'Клиент',
'phone_number': '+7-900-000-0000'
}
)
# Создаем или получаем тестовую услугу
service, _ = Service.objects.get_or_create(
name='Разработка сайта',
defaults={
'description': 'Профессиональная разработка веб-сайтов',
'price': 100000.00,
'category': cat_web
}
)
# Тестовые данные проектов
test_projects = [
{
'name': 'Корпоративный портал TechCorp',
'short_description': 'Современный корпоративный портал с системой управления документами, интеграцией с CRM и модулем HR.',
'description': '<p>Разработан комплексный корпоративный портал для компании TechCorp, включающий в себя систему управления документами, интеграцию с CRM-системой и модуль управления персоналом.</p><p>Основные функции: документооборот, календарь событий, внутренние новости, система заявок, интеграция с почтовыми сервисами.</p>',
'technologies': 'Django, PostgreSQL, Redis, Celery, Docker, React.js',
'duration': '4 месяца',
'team_size': 5,
'views_count': 1245,
'likes_count': 89,
'completion_date': date(2024, 8, 15),
'categories': [cat_web, cat_analytics],
'is_featured': True
},
{
'name': 'Мобильное приложение FoodDelivery',
'short_description': 'Cross-platform приложение для доставки еды с геолокацией, онлайн-платежами и системой рейтингов.',
'description': '<p>Создано мобильное приложение для службы доставки еды с поддержкой iOS и Android платформ.</p><p>Функционал включает: поиск ресторанов по геолокации, онлайн-заказы, интеграцию с платежными системами, отслеживание курьера в реальном времени, система рейтингов и отзывов.</p>',
'technologies': 'React Native, Node.js, MongoDB, Socket.io, Stripe API',
'duration': '6 месяцев',
'team_size': 4,
'views_count': 892,
'likes_count': 156,
'completion_date': date(2024, 10, 20),
'categories': [cat_mobile, cat_ecommerce],
'is_featured': False
},
{
'name': 'Аналитическая панель SmartMetrics',
'short_description': 'Интерактивная панель управления с визуализацией данных, машинным обучением и предиктивной аналитикой.',
'description': '<p>Разработана комплексная система аналитики для обработки больших данных с возможностями машинного обучения.</p><p>Включает: интерактивные дашборды, автоматизированные отчеты, прогнозирование трендов, интеграция с различными источниками данных, алгоритмы машинного обучения.</p>',
'technologies': 'Python, Django, PostgreSQL, Redis, TensorFlow, D3.js, Pandas',
'duration': '5 месяцев',
'team_size': 6,
'views_count': 673,
'likes_count': 124,
'completion_date': date(2024, 7, 10),
'categories': [cat_analytics, cat_web],
'is_featured': True
},
{
'name': 'E-commerce платформа ShopMaster',
'short_description': 'Полнофункциональная платформа интернет-торговли с многопользовательскими магазинами и системой управления.',
'description': '<p>Создана масштабируемая e-commerce платформа, поддерживающая множественные магазины на одной основе.</p><p>Возможности: многопользовательская архитектура, система платежей, управление складом, программы лояльности, мобильная оптимизация, SEO инструменты.</p>',
'technologies': 'Laravel, MySQL, Redis, Elasticsearch, Vue.js, Stripe, PayPal',
'duration': '8 месяцев',
'team_size': 7,
'views_count': 1567,
'likes_count': 203,
'completion_date': date(2024, 11, 5),
'categories': [cat_ecommerce, cat_web, cat_mobile],
'is_featured': True
},
{
'name': 'Дизайн-система BrandKit',
'short_description': 'Комплексная дизайн-система для финтех стартапа с фирменным стилем, UI-компонентами и брендбуком.',
'description': '<p>Разработана полная дизайн-система для финтех компании, включающая создание фирменного стиля, UI-компонентов и подробного брендбука.</p><p>Результат: логотип и фирменный стиль, библиотека UI-компонентов, руководство по использованию бренда, адаптация для различных платформ.</p>',
'technologies': 'Figma, Adobe Creative Suite, Principle, Sketch, InVision',
'duration': '3 месяца',
'team_size': 3,
'views_count': 445,
'likes_count': 78,
'completion_date': date(2024, 9, 30),
'categories': [cat_design],
'is_featured': False
}
]
print(f"Текущее количество проектов: {Project.objects.count()}")
# Создаем проекты
for i, project_data in enumerate(test_projects):
categories_to_add = project_data.pop('categories')
project, created = Project.objects.get_or_create(
name=project_data['name'],
defaults={
**project_data,
'client': client,
'service': service,
'status': 'completed',
'display_order': i + 1
}
)
if created:
# Добавляем категории
project.categories.set(categories_to_add)
print(f"✅ Создан проект: {project.name}")
else:
print(f"⚠️ Проект уже существует: {project.name}")
print(f"\nИтого проектов в базе: {Project.objects.count()}")
print(f"Завершенных проектов: {Project.objects.filter(status='completed').count()}")
print(f"Избранных проектов: {Project.objects.filter(is_featured=True).count()}")
if __name__ == '__main__':
create_test_projects()