Рубрика «django»

Дисклеймер

Данный текст не имеет цели кого-то оскорбить или высмеять и несет исключительно развлекательный характер.

Я долго работал в коммерческом проекте в роли backend-разработчика с всемирно известным фреймворком Django, а также с его альтер эго - Django Rest Framework. Всегда кажется, что работать с чем-то многозвёздочном на GitHub - это кататься сыром в масле. На входе имеем: отличную документацию, отзывчивое сообщество, множество решений одной и той же проблемы, так как все уже (пред)решено...

Предыстория

Читать полностью »

Неделю назад прилетел тикет: «Страница заказов грузится вечность». Открыл — действительно, 12 секунд на первую загрузку. На проде. С реальными пользователями.

Спойлер: проблема была в том месте, куда я смотрел последним.

Что имеем

Типичный интернет-магазин на Django + PostgreSQL. Админка, где менеджеры смотрят список заказов. Таблица orders — примерно 800 тысяч записей, растёт на 2-3 тысячи в день.

Запрос, который дёргает страница:

SELECT * FROM orders 
WHERE status = 'pending' 
ORDER BY created_at DESC 
LIMIT 50;

Казалось бы, что тут сложного? LIMIT 50, да ещё и с фильтром по статусу.

Первые подозрения

Открыл EXPLAIN ANALYZEЧитать полностью »

Привет! Меня зовут Артём Алимпиев, я Python‑разработчик.
Недавно я столкнулся с тем, что даже идеально написанные тесты порой ведут себя… странно.
Один день они проходят, другой — падают, хотя код не менялся.

Если вы когда‑нибудь ловили такие «призраки» в CI/CD, то знаете, насколько это раздражает.
Так начался мой эксперимент — сделать инструмент, который умеет находить и объяснять, почему тесты становятся нестабильными.
Так родился проект FlakyDetector.


Читать полностью »

Всем привет! Меня зовут Сергей. Я последние два года работаю бэкенд-разработчиком в стартапе MindUp. До этого работал на вольных хлебах и прыгал с проекта в проект. Никогда до этого не писал статьи на Хабре — так что это мой первый опыт. Расскажу о библиотеке RBACX: зачем я её сделал, чем она отличается и как ею пользоваться.

Предыстория: что такое RBAC и ABAC

Чтобы понять, зачем нужен RBACX, кратко напомню главные и наиболее популярные (на мой взгляд) модели контроля доступа.

RBAC (Role-Based Access Control)Читать полностью »

Состояние Python в 2025 году - 1

Команда Python, PyCharm и DevTools подготовила перевод статьи, основанной на 30 000 ответов разработчиков. TL;DR: 50% разработчиков пишут на Python меньше двух лет, Rust тихо становится «вторым пилотом», FastAPI вырывается вперёд, а агентный AI уже меняет то, как мы пишем код.


Читать полностью »

Выбрал сервис Yandex Object Storage (S3) для медиа (фото) и статики. Потратил пару дней, чтобы подключить. Статью от Яндекса не нашел, использовал пару сторонних сайтов и информацию с Chat GPT. И вот решил написать свою статью.

Начнем с Django. По идее в settings.py у вас так:

# медиа и статичные файлы в режиме разработки
STATIC_URL = "static/"
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, "static"),
]
MEDIA_ROOT = f"{BASE_DIR}/media"
MEDIA_URL = "/media/"

Переходим в Yandex Cloud. Вы зарегистрировались, переходим в Identity and Access Management для создания сервисного аккаунта.

Читать полностью »

Вводная часть

При разработке локального маркетплейса Django, и одна из задач, с которой пришлось поработать – это система бронирования товаров при создании заказа. Согласно требованиям, система должна уметь бронировать товары за покупателем, давать ему немного времени на оплату, а потом — если он не успел — освобождать эти товары для других.

Читать полностью »

В своей прошлой статье я рассказал, как создал небольшой проект, который генерирует курсы и обучающие материалы с помощью LLM - AI Тютор. Было приятно получить порядка 130 новых пользователей, и один из них натолкнул меня на мысль о том, чтобы сделать AI тренажер, который бы имитировал собеседование на новую работу. Идея показалась мне интересной, и я решил ее реализовать.

Как это работает?

Читать полностью »

Привет! Меня зовут Владислав, в сети я известен как Metimol. Хочу поделиться историей создания моего open-source проекта BlackWave — симулятора социальной сети, где реальные пользователи могут взаимодействовать с тысячами автономных ИИ-ботов. У каждого из них есть уникальный характер, память и собственная модель поведения. Это был путь от безумной идеи до неожиданной коллаборации, полного переосмысления стека и, наконец, до релиза.

Идея: Социальная сеть для одного

Читать полностью »

Пришла мне тут по работе задача сделать возможность добавления товара в корзину пользователем без авторизации. Корзина, причем должна храниться на бэке для того, чтобы можно было проводить аналитику по неоформленным заказам, а также, если пользователь авторизуется, то добавлять эту корзину к его профилю для доступности ее с любых других устройств, на которых он (пользователь авторизован).
Ясное дело, что для корзины одного пользователя в сеансе оформления заказа нужен уникальный идентификатор, по которому можно определить в какую “корзину” поместить товар.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js