🚀 MEGA UPDATE: Объединение всех изменений для продакшена
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
✨ НОВЫЕ ФУНКЦИИ: - 🎬 Поддержка видео в Hero баннерах и услугах - 💊 Водная анимация пилюль маркеров банеров - 📱 Полная главная страница с портфолио, блогом, новостями - 🎯 HeroBanner модель с видео/изображениями - 🎨 Современные hover-эффекты и анимации 📊 УЛУЧШЕНИЯ СТРУКТУРЫ: - Расширенная home_modern.html с полным контентом - Новые URL маршруты для всех секций - Обновленные views с передачей всех данных - CSS стили для всех новых секций - Миграции для видео полей 🎪 HERO БАНЕР СИСТЕМА: - Динамические банеры с видео/фото фонами - Пилюли маркеры с водной анимацией - Растягивание маркеров от центра - Адаптивный дизайн для мобильных - Glassmorphism эффекты 🎨 СОВРЕМЕННЫЙ ДИЗАЙН: - Hover анимации для карточек - Плавные переходы везде - Современная типографика - Градиенты и тени - Отзывчивая сетка Готов к продакшену! 🚀
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from django.shortcuts import render, get_object_or_404, redirect
|
||||
from .models import Service, Project, Client, BlogPost, Review, Order, ServiceRequest
|
||||
from .models import Service, Project, Client, BlogPost, Review, Order, ServiceRequest, HeroBanner
|
||||
from django.db.models import Avg
|
||||
from comunication.models import TelegramSettings
|
||||
import qrcode
|
||||
@@ -34,7 +34,20 @@ except Exception as e:
|
||||
|
||||
def home(request):
|
||||
services = Service.objects.all()[:6] # Показываем только первые 6 услуг на главной
|
||||
return render(request, 'web/home_modern.html', {'services': services})
|
||||
hero_banners = HeroBanner.objects.filter(is_active=True).order_by('order', '-created_at')[:3] # Получаем активные баннеры
|
||||
|
||||
# Добавляем данные для полной главной страницы
|
||||
latest_projects = Project.objects.all()[:3] # Последние проекты для портфолио
|
||||
latest_blog_posts = BlogPost.objects.all()[:2] # Последние статьи блога
|
||||
reviews = Review.objects.all()[:3] # Отзывы клиентов
|
||||
|
||||
return render(request, 'web/home_modern.html', {
|
||||
'services': services,
|
||||
'hero_banners': hero_banners,
|
||||
'latest_projects': latest_projects,
|
||||
'latest_blog_posts': latest_blog_posts,
|
||||
'reviews': reviews,
|
||||
})
|
||||
|
||||
def service_detail(request, pk):
|
||||
service = get_object_or_404(Service, pk=pk)
|
||||
@@ -69,6 +82,21 @@ def services_view(request):
|
||||
def about_view(request):
|
||||
return render(request, 'web/about_modern.html')
|
||||
|
||||
def portfolio_view(request):
|
||||
projects = Project.objects.all()
|
||||
return render(request, 'web/portfolio.html', {'projects': projects})
|
||||
|
||||
def blog_view(request):
|
||||
blog_posts = BlogPost.objects.all().order_by('-created_at')
|
||||
return render(request, 'web/blog.html', {'blog_posts': blog_posts})
|
||||
|
||||
def news_view(request):
|
||||
# Можно создать модель News или использовать BlogPost с категорией
|
||||
return render(request, 'web/news.html')
|
||||
|
||||
def career_view(request):
|
||||
return render(request, 'web/career.html')
|
||||
|
||||
def create_service_request(request, service_id):
|
||||
if request.method == 'POST':
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user