Мы любим создавать особенные и уникальные вещи для украшения вашей жизни и дома
Все товары
информация о доставке
Мы находимся в Москве. Вы можете самостоятельно забрать покупку из точки самовывоза или заказать доставку курьером по Москве и Московской области. Также доступна доставка почтой по всей России.
+1 123 456 78 90
shetuka@store.com
По любым вопросам и для заказа свяжитесь с нами по телефону, почте и в соцсетях.
from django.utils import timezone from django.core.exceptions import ValidationError from django.conf import settings import dateutil.parser def validate_delivery(dt_str): """ Проверяет, что выбранное время доставки не является прошедшим. Добавляет буфер в 60 минут для обработки заказов. Args: dt_str (str): Строка с датой и временем в ISO формате """ try: # Парсим строку с датой/временем selected = dateutil.parser.isoparse(dt_str) # Если время наивное (без таймзоны), делаем его aware if selected.tzinfo is None: # Используем таймзону из настроек Django current_timezone = timezone.get_current_timezone() selected = timezone.make_aware(selected, current_timezone) # Если время уже aware, но нужно нормализовать к текущей таймзоне else: selected = timezone.localtime(selected) # Получаем текущее время с учетом таймзоны now = timezone.localtime(timezone.now()) # Добавляем буфер в 30 минут buffer = timezone.timedelta(minutes=60) # Проверяем, что выбранное время не раньше чем сейчас + буфер if selected < now + buffer: raise ValidationError( f"Время доставки должно быть не раньше {(now + buffer).strftime('%H:%M')}. " f"Выбрано: {selected.strftime('%d.%m.%Y %H:%M')}." ) except ValueError as e: raise ValidationError(f"Некорректный формат даты/времени: {dt_str}") from e except Exception as e: raise ValidationError(f"Ошибка при проверке времени доставки: {str(e)}")
FLICKR CREDITS: Anka Albrecht |
Wicker Paradise| Wicker Paradise | Bonsoni.com | Bonsoni.com | Bonsoni.com | leica_camera

Все фотографии, тексты и видеоматериалы принадлежат их владельцам и использованы для демонстрации. Пожалуйста, не используйте контент шаблона в коммерческих целях.
Made on
Tilda