• Offline режим ios приложения?

    @mr_drinkens89 Автор вопроса
    согласен с Вами.
    Думаю, что воспользуюсь Realm, для сохранения всех объектов. У каждого объекта добавлю булевый параметр is_synced. Если что-то меняю на ios клиенте - is_sync будет false до тех пор, когда с сервера не придет ответ (по сути, обновит существующую запись).
  • Offline режим ios приложения?

    @mr_drinkens89 Автор вопроса
    dollar, с сервера я могу прислать json-файл всего состояния приложения для юзера. Ну и сохранить его. Другой вопрос - что приложение связано с веб-версией, ну и еще андроид также) Поэтому, оффлайн режим надо обеспечить лишь частично, в режиме чтения)
  • Seo и пагинация?

    @mr_drinkens89 Автор вопроса
    Посмотрю, спасибо.
    А что делать с фильтрами и сортировкой? их можно смело закрыть от индексации?
  • Seo и пагинация?

    @mr_drinkens89 Автор вопроса
    в сайтмап выгружаю:
    - категории
    - товары
    - статичные страницы

    Соответственно, да, в сайтмапе есть товары.
  • Smart Filter для товаров Django?

    @mr_drinkens89 Автор вопроса
    не совсем понятно, как это применимо к фильтрам. У меня модель, которая содержит в себе цвет, размер, скидку и тд - как строковые значения.
    Проблема в том, что каждый раз необходимо показать только доступные (после предыдущего) значения фильтров.
    Сейчас я делаю так: собираю все значения, и с помощью __in фильтрую. На выходе имеем отфильтрованные товары.
    Но, получается, что необходимо сохранять предыдущий QuerySet, дабы дать возможность юзеру выбрать еще значения (например, после 2 этапа у нас доступно 5 цветов).
    Мне кажется, что здесь налицо фасетный поиск? или же можно обойтись и стандартным django orm + js на клиенте?
  • Организация платных подписок django?

    @mr_drinkens89 Автор вопроса
    Pavel Denisov, это да. Просто у нас есть промежуточный слой - бекенд. Необходимо, в первую очередь, четко обработать все действия на стороне django. Думаю, логично форму оплаты отдать под управление Django, где прописать все success/failure колбеки. Ну и уже после - редирект обратно в React-приложение, с уже обновленными данными.
    Не знаю, насколько верна моя логика, но, я б довел юзера до кнопки "оплатить", и далее сделал редирект на django (с нужными параметрами). Ну и далее уже django сделает свою часть.
    Есть либа - django-paypal, в которой все формы уже прописаны, колбеки и тд - удобно.
  • Организация платных подписок django?

    @mr_drinkens89 Автор вопроса
    Pavel Denisov, еще такой, возможно, странный вопрос, но не могу вразумить.
    Правильно ли я понимаю, что форму и саму кнопку необходимо делать на стороне Django? То есть юзер жмет "upgrade", его кидает на форму оплаты, сформированную django? Ну и после успешной оплаты, происходит обновление поля у юзера и редирект обратно в апп? или же форму можно и на клиенте сформировать? тогда как в этом случае ловить сигнал об успешной оплате и обновлять необходимые поля у юзера?
    То есть вопрос именно в разделение части React, и Django
  • Организация платных подписок django?

    @mr_drinkens89 Автор вопроса
    Pavel Denisov, согласен. Но, celery уже подключен для бекграунд задач (уведомления юзеру в центрифугу, емайл уведомления и прочее)
  • Организация платных подписок django?

    @mr_drinkens89 Автор вопроса
    Pavel Denisov, понял. Спасибо большое!
  • Организация платных подписок django?

    @mr_drinkens89 Автор вопроса
    Pavel Denisov, Благодарю за разъяснение.
    Правильно ли я понимаю, что инвойс придет как колбек. Соответственно, все необходимые данные будут уже в ответе от платежной системы? и далее мы уже ищем у себя в системе данный инвойс с нужным номером (который отправили), и обновляем статус подписки?
  • Организация платных подписок django?

    @mr_drinkens89 Автор вопроса
    Дабы юзеру отослать вовремя письма о предупреждении окончания подписки (кол-во дней), и то, что подписка завершена (необходимо продлить).
    Неверно сформулировал: не пересчитывать, а вовремя проверить и отключить (если закончилось).
  • Организация платных подписок django?

    @mr_drinkens89 Автор вопроса
    Pavel Denisov, Да, согласен.
    сделал 3 сущности: Тариф, Подписка, ПлатежнаяОперация.
    Юзера связываю с Подписка с помощью OneToOne. По умолчанию - trial.
    С помощью celery - каждый день провожу пересчет оставшихся дней.

    Самое сложное, видимо, это привязать систему оплату (карта, paypal)
  • Как сделать фильтр цены?

    @mr_drinkens89
    Да, необходимо отдельное поле for_sale_price, и туда забивайте цену со скидкой.
    Если, например, необходимо добавить слайдер цены (price range) - с помощью aggregate и MIN, MAX функций вычисляйте минимальную и максимальную цену и выводите в шаблон.
    При фильтрации примерно так:
    pmin = request.GET.get("pmin")
      pmax = request.GET.get("pmax")
      products.filter(for_sale_price__gte=pmin, for_sale_price__lte=pmax)
  • Unread messages в чате на React?

    @mr_drinkens89 Автор вопроса
    channels пробовал - не понравился. Куда проще настроить центрифугу и нет проблем)
    Меня больше интересует сам алгоритм)
  • Python3 и запись CSV в cp1251?

    @mr_drinkens89 Автор вопроса
    Да, то, что нужно)
    Благодарю.
  • Python3 и запись CSV в cp1251?

    @mr_drinkens89 Автор вопроса
    sim3x, можно ли простенький пример (допустим, для шапки документа), дабы иметь представление, в какую сторону двигаться.
    спасибо
  • Python3 и запись CSV в cp1251?

    @mr_drinkens89 Автор вопроса
    sim3x, извиняюсь, так скопировал
  • Django и sorl-thumbnail?

    @mr_drinkens89 Автор вопроса
    javedimka, именно через ddt и установил, что идет запрос 53 раза на кешируемую картинку.
  • Django и sorl-thumbnail?

    @mr_drinkens89 Автор вопроса
    javedimka, есть ли другие способы и подходы?
  • Как правильно спроектировать товары с вариантами?

    @mr_drinkens89 Автор вопроса
    sim3x, попробую сделать так:
    1 модель: Коллекции (Мужские, женские, детские
    2 модель: ПодГруппы (Одежда, Обувь, Подарки
    3 модель: Группа товара (Брюки, Джинсы)

    Придется лишь у товара создать также 3 поля: Коллекция, ПодГруппа, Группа.
    Немного сложнее выходит, но, пологичнее, как мне кажется