Ответы пользователя по тегу Django Rest Framework
  • Как правильно масштабировать Django с Kubernetes?

    @deliro
    Хочу такой вариант пропустить и сразу перейти к kubernetis

    "You think you do, but you don't"

    Знаю, что могу вынести DB и pgbouncer на отдельные сервера

    Чтобы увеличить RTT?

    Для поддержки кубика нужна целая выделенная команда, которая, помимо кубика, ещё настроит и будет поддерживать ёлку (ELK), какой-нибудь vault, графану, прометей, консул, докер реджистри, s3 (типа minio или seaweedfs, ведь контейнеры теперь stateless и хранить на них ничего нельзя) и кучу других сложных штук. Если у тебя нет сотни разработчиков в компании, то не нужно играть в гугл.

    Во-первых, какая у тебя нагрузка? Сколько тысяч запросов в секунду приходит и отмасштабировал ли ты вертикально и упёрся уже в потолок? gunicorn оптимально настроен? сколько процессов/потоков, какой тип воркеров? json парсишь и сериализуешь orjson'ом? Приложение профилировал?
    Во-вторых, 12 factor
    В-третьих, у базы есть реплики? read запросы раскидал на реплики? а редис? Действительно ли нужен zero downtime (это исходит из вопроса про нагрузку)

    Если тебе хочется просто поиграть, то поставь локально кубик, поиграй, погрусти и удали. Не нужно это тащить в прод, если нет на это необходимости. А если ты даже название kubernetes не можешь правильно написать, то он тебе не нужен.

    P.S. DRF — медленное нетипизированное говно, выкинь его
    Ответ написан
    5 комментариев
  • Хорошая ли стратегия разбивать монолит джанго на микросервисы джанго?

    @deliro
    "Разбивать" монолит на сервисы хорошая идея только если у вас больше 500 разработчиков. Никаких плюсов кроме независимого деплоя микросервисы не имеют, зато минусов — перечислять не хватит недели
    Ответ написан
    Комментировать
  • Django + Vue cli 3 или Django REST framework что и когда использовать?

    @deliro
    Уууу, какая каша в голове.
    1. DRF — это просто библиотека к Django. Она даёт удобные (спорно) инструменты для уменьшения бойлерплейтного кода. Их там вагон и маленькая тележка, но в основном все используют только сериализаторы. У них есть два минуса: они чудовищно медленные и нетипизированные. Поэтому рекомендую смотреть на pydantic
    2. Когда используешь Vue, тебе не нужны ни jQuery, ни шаблоны Django. По опыту могу сказать, что шаблоны Django весьма и весьма спорная штука. Сейчас очень много проектов вообще их не используют, отдавая предпочтение Vue или React или чему угодно из той же оперы
    Ответ написан
    5 комментариев
  • Как создать корзину для гостевого пользователя на Django Rest Framework?

    @deliro
    Храни отдельной подписанной кукой, независимо от сессии и авторизация не будет на неё влиять. Но нужно понимать, что если пул продуктов залогиненого юзера и анонимуса отличаются, то это придётся обрабатывать ручками.
    Ответ написан
    Комментировать
  • Не могу сделать миграцию, как это решить?

    @deliro
    Ты добавил поле, поле это не может быть NULL. Но в базе уже могут находиться записи, которые, очевидно, не содержали этого поля (потому что ты его только что добавил). А значит, всем существующим записям нужно что-то поставить в это поле.

    Хотя достаточно было перевести текст, там ведь тоже самое написано.
    Ответ написан
    5 комментариев
  • Использовать ли DRF?

    @deliro
    В DRF логику не делают и через DRF логику не делают. DRF — это слой контроллеров и слой отображения. Он делает за тебя грязную работу в виде ACL, маппинга сущностей туда-обратно между ORM и JSON, фильтры там всякие. Логику ты пишешь в сервисах или моделях

    Но DRF использовать скорее стоит, особенно в начале разработки
    Ответ написан
    Комментировать
  • Django DRF. Из-за чего возникает ошибка при использовании метода POST и PATCH?

    @deliro
    Это разные content types. django.contrib.contenttypes — это метаинформация для внутренностей джанги.

    Content-Type, который тебе нужен — это HTTP header. POST запрос с формой требует один из трёх Content-Type'ов: application/json, multipart/form-data или application/x-www-form-urlencoded в зависимости оттого, что ты отправляешь.
    Ответ написан
    Комментировать
  • Django REST Framework разница между ViewSets и generics?

    @deliro
    В том, что твой generic - это одна вьюха на создание, а view set - набор вьюх на список, детали конкретного, редактирование, удаление и создание
    Ответ написан
    Комментировать
  • Django + Ajax. DRF или нет?

    @deliro
    Можно и так. DRF — это как раз замена "что-то типа" на более высокоуровневые абстракции. Когда "что-то типа" становится слишком много по коду и это "что-то типа" становится почти копипастой кода по соседству — вот тогда DRF и нужен. А для одного раза можно и оставить "что-то типа".
    Ответ написан
    1 комментарий
  • Как увеличить скорость наполнения динамическим контентом в связке Django + DRF + VueJS?

    @deliro
    И причём тут vue и axios? Бэкенд отдаёт 2.5 секунды ответ. Это тревожный звоночек.
    Ответ написан
    2 комментария