Как стать автором
Обновить
25.1

Django *

Фреймворк для веб-приложений на Python

Сначала показывать
Порог рейтинга
Уровень сложности

Быстрее, выше, сильнее: сравнение подходов poetry, rye и uv

Уровень сложностиПростой
Время на прочтение15 мин
Количество просмотров1.3K

Привет, с вами снова Егор, Tech Lead компании ИдаПроджект. Я все еще занимаюсь стратегией, процессами и командами в направлении backend-разработки :)

Когда-то давно (по меркам IT), шесть лет назад, мы сходили на конференцию и послушали про poetry, преисполнились и внедрили его у себя на проектах. Но ничто не стоит на месте: вот уже два года мир знает о uv, а недавно появился еще и rye. Поэтому я посвятил пару выходных тестированию этих инструментов, чтобы использовать на наших типичных проектах.

В статье сравним poetry, uv и rye: кто быстрее управляет зависимостями, как использовать их в Docker, и какой из них выбрать в 2025 году. Заодно пробежимся по философии инструментов и посмотрим пару новых PEP стандартов, которые могут улучшить работу с зависимостями.

Читать далее

Новости

Плюсы и минусы написания запросов с ORM и на SQL

Время на прочтение6 мин
Количество просмотров2K

SQL против ORM — один из самых горячих споров среди разработчиков. Одни уверены, что писать SQL-запросы вручную — это гарантия контроля и эффективности. Другие считают, что ORM упрощает жизнь и снижает вероятность ошибок. А что, если правда где-то посередине?

Читать далее

Делаем жизнь легче: быстрый поиск в django и postgresql с помощью search_vector

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров4.2K

Привет, меня зовут Таня и я backend-разработчик в ИдаПроджект

Сегодня хочу рассказать о полнотекстовом поиске — как это все работает в django, а как в postgres, и откуда вообще взялось. 

Современные компании ежедневно сталкиваются с разной текстовой информацией. Эффективный поиск не только ускоряет доступ к нужным данным, но и повышает продуктивность, снижает затраты и открывает новые возможности для анализа и принятия решений. 

Новичкам важно понять, как полнотекстовый поиск облегчает обработку данных и извлечение информации. Для тех, кто уже знаком с Django и PostgreSQL, статья станет экскурсом в полнотекстовый поиск, а заодно поможет интегрировать его в проекты. 

Ну что, погнали! Разберем, как эта технология развивалась, и какие ее ключевые элементы (триграммы и tsvector) делают возможным быстрый и точный доступ к информации.

Читать далее

Telescope — web-based log viewer UI

Уровень сложностиПростой
Время на прочтение1 мин
Количество просмотров2.5K

Всем привет

Хочу поделиться с сообществом своим проектом.

Telescope - это opensource web-приложение для удобной работы с логами, хранящимися в ClickHouse.

Читать далее

Истории

Кастомные lookup-операторы в Django ORM

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров1K

В этой статье рассмотрим тему кастомных lookup-операторов в Django ORM. Они позволяют расширить стандартный синтаксис Django, интегрируя свои SQL-функции и алгоритмы, при этом сохраняя привычный вид фильтрации.

Читать далее

Вот, к вам идет IoT: как цифровизировать старый жилфонд

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров3.9K

Тем, кто жил и живет в старых домах — «хрущевках», «панельках», «человейниках», — знакома беда разбалансировки систем жизнеобеспечения. Весной батареи обжигают, а зимой — еле теплые, вытяжки работают «не пойми как», подъезд освещен «не пойми где». А счет за такой сервис приходит как за нормально работающий. Возможно, вы будете удивлены, но сегодня столь знакомая многим проблема «кривого ЖКХ» отнесена к вопросам цифровизации, а для ее решения подключают не только домовые чаты в Телеграме или WA, но и передовые ИТ‑технологии: предсказательную аналитику, парсинг и анализ больших данных, интернет вещей. Причем речь уже идет не только о домах премиального класса. Цифровизация затронет и огромный советский и ранний постсоветский устаревший жилфонд, в котором, согласно последней переписи населения, до сих пор живет большинство россиян.

Как начинался EnergyStart

Технологическая компания «Конст» во главе с Альвиной Малышевой решила ответить на этот вызов. Команда разработала IoT (интернет вещей) — решение EnergyStart для многоквартирных жилых домов сегмента старой застройки. В том числе для совсем устаревшего жилфонда. Как рассказала Альвина, проект стартовал в 2023 году с запроса в Институт энергетики и электроники БГТУ им. В. Г. Шухова от Центра энергосбережения Белгородской области.

Один из сотрудников центра заметил, что система вентиляции в местной больнице работает неисправно: там душно и спертый воздух. Однако никто из сотрудников медучреждения почему-то не сигнализировал об очевидной проблеме в местную управляющую компанию (УК). И это, кстати, типичный случай: пока не произойдет авария, мало кого волнует проблема неэффективной работы инженерных систем. И поломку выявляют, лишь когда специалисты приходят на аварийный вызов. 

Читать далее

Давайте писать удобное локальное окружение…

Уровень сложностиСложный
Время на прочтение30 мин
Количество просмотров3.8K

Всем привет, меня зовут Аббакумов Валерий.

Я Python разработчик, в основном занимаюсь бэкэндом веб приложений и каждый раз когда дело доходит до разворачивания нового проекта по моей щеке начинает течь слеза.

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

Пример будет представлен для Django проекта и PDM в качестве менеджера зависимостей, но концептуально должен подходить для любого проекта на любом языке и с любым набором сервисов.

Читать далее

Lock-free кэш для Django: коротко

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров1.4K

Привет, Хабр!

Сегодня будем строить lock‑free кэш в Django, то есть без блокировок, но с атомарными операциями. Никаких замков, никакого ожидания, только скорость.

«Зачем, если есть Redis?» Вот три причины:

- Скорость локальной памяти. Redis — молодец, но сетевые запросы всегда медленнее RAM.
- Блокировки — зло. Даже Redis лочит ключи при записи, а это минус к скорости.
- Иногда скучно. Ну честно, написать что‑то своими руками.

А ещё это хороший способ разобраться, как работают атомарные операции и lock‑free структуры.

Читать далее

Перенос JWT-токенов в куки: Django REST + React

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1.9K

Привет, Хабр!

Эта статья родилась из моего опыта реализации авторизации с использованием JWT-токенов, хранящихся в куки. Я решил поделиться этим опытом, чтобы зафиксировать свои знания и, возможно, помочь тем, кто столкнется с похожими задачами

Статья будет полезна тем, кто хочет разобраться в реализации авторизации с JWT-токенами в куки с помощью Django REST Framework.

Читать далее

Signals в Django

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров3.5K

Привет, Хабр!

В этой статье я расскажу, как использовать Django Signals, чтобы приложение работало как часы. Signals — это встроенный механизм в Django, который позволяет разным частям приложения «общаться» друг с другом через события.

Читать далее

Битва двух якодзун: Grafana K6 vs Django DRF + Nginx

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров4.9K

Привет, с вами снова Егор, Tech Lead компании ИдаПроджект :) Если забыли, напомню, что я занимаюсь стратегией, процессами и командами в направлении backend разработки.

Сегодня мы вместе сделаем минимальное приложение на django + DRF и проведем нагрузочное тестирование с помощью Grafana K6. Также попробуем применить кэширование в Nginx. Будем тестировать как GET-запросы, которые можно и нужно кэшировать, так и POST-запросы, которые кэшировать нельзя.

Погнали.

Читать далее

Оптимизация запросов в DjangoORM: когда и как использовать Raw SQL

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров3.8K

В рамках данной темы будут рассмотрены способы оптимизации запросов в DjangoORM. Основное внимание будет уделено использованию сырых SQL запросов, существующих для этого инструментов, преимуществам и недостаткам.

Читать далее

Базовая настройка SAST и DAST для django в gitlab cicd: как быстро внедрить решения по безопасности

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров1.7K

Привет, меня зовут Егор и я Tech Lead в компании ИдаПроджект :) Занимаюсь стратегией, процессами и командами в направлении backend разработки.

Сегодня расскажу вам о базовой настройке SAST и DAST для django в gitlab cicd. В разработке использование SAST (Static Application Security Testing) и DAST (Dynamic Application Security Testing) в последние годы стало уже стандартом. На эту тему есть уже довольно много материала на habr, но я хочу сконцентрироваться на быстром и базовом внедрении решения по безопасности в следующий стек технологий: 

Infrastructure: Docker, Docker Compose, GitLab, GitLab CI/CD 

Backend: Python, Django с использованием Poetry 

Frontend: Vue.js, Nuxt.js

Погнали!

Читать далее

Ближайшие события

4 – 5 апреля
Геймтон «DatsCity»
Онлайн
8 апреля
Конференция TEAMLY WORK MANAGEMENT 2025
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область

Простое управление настройками приложения в проекте на django

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.6K

Как добавить кучу настроек для администратора в свой проект на django без дополнительных сервисов feature-toggle и потом в них не потеряться.

Читать далее

Django или Flask: какой фреймворк лучше подходит для вашего проекта?

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.7K

Flask и Django — два ведущих веб-фреймворка на языке Python, каждый из которых обладает уникальными особенностями и преимуществами. Они широко используются для создания и управления веб-приложениями, сервисами и сайтами. В этой статье мы подробно рассмотрим различия между Flask и Django, их ключевые характеристики, преимущества и недостатки, чтобы помочь вам выбрать наиболее подходящий инструмент для ваших проектов в 2024 году.

Читать далее

Большой гайд по миграциям в Django: полезные советы и обход типичных подводных камней

Уровень сложностиПростой
Время на прочтение27 мин
Количество просмотров5.3K

Привет! Меня зовут Макс, я backend-разработчик в компании ИдаПроджект и автор YouTube-канала PyLounge.

Эта вторая часть большой статьи по Django-миграциям для начинающих. Если вы пропустили или потеряли первую часть — держите ссылку.

Что здесь будет? Разберем фиктивное применение, миграции данных, «сухую проверку» и основные проблемы, которые возникают у начинающих. Также поделюсь полезными советами и подсвечу детали работы. Примеры из практики — обязательно будут.

Дисклеймер (как и в первой части, чтобы не было недопониманий): все примеры специально упрощены, чтобы неокрепший ум выцепил концепции, а не детали реализации. Не бейте, или бейте там, где синяков не видно :)

Читать далее

Python vs C#, Django vs ASP: проблема выбора

Время на прочтение5 мин
Количество просмотров6.8K

Наверное я один из немногих, которые желают опубликовать материал не просто, чтобы было, или чтобы высказать свое «авторитетное» мнение по тем или иным вопросам, а чтобы получить обратную связь. И за эту самую связь в комментариях я был бы весьма признателен!

Читать далее

Django + Zoho CRM: как управлять данными без головной боли

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.1K

Привет! Меня зовут Денис, я Python-разработчик в Kokoc Group. Уже около года занимаюсь интеграцией одной из наших платформ на Django с Zoho CRM. Мы соединяем пользователей с широким спектром услуг, требования к обработке заявок и управлению партнерскими и пользовательскими профилями высокие, поэтому Zoho CRM стала ключевым элементом.

В статье хочу показать, как провести ее и сделать процессы проще и эффективнее. Мы рассмотрим все этапы: от подготовки среды до настройки вебхуков и асинхронной обработки данных с помощью Celery.

Читать далее

AJAX-запросы в Django на примере простейшего приложения сбора и показа сообщений

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров2.1K

Веб-разработчики часто сталкиваются с необходимостью динамически обновлять страницы без полной перезагрузки. С этим хорошо справляется технология асинхронного обмена данными AJAX, однако я не нашел на просторах интернета простого мануала использования AJAX и решил создать его сам. В этой статье я собираюсь подробно показать взаимодействие фронтенда с AJAX и бекенда с Django, ограничившись минимумом кода. Статья больше рассчитана на новичков и станет отличной базой для дальнейшего развития в теме.

Читать далее

Большой гайд по миграциям в Django: готовимся к миграциям и избегаем конфликтов

Уровень сложностиПростой
Время на прочтение28 мин
Количество просмотров7.6K

Привет! Меня зовут Макс, я backend-разработчик в компании idaproject и автор YouTube-канала PyLounge.

Я всегда хотел создавать контент, который пригодился бы мне самому в прошлом или настоящем. Эта большая статья — не исключение. Она для тех, кто только начинает изучение Django: жалею, что когда я начинал, мне не попался подобный материал. Надеюсь, он станет для вас хорошим подспорьем. 

Кому-то всё сказанное здесь покажется очевидным, но я всегда придерживался принципа — «то что очевидно мне или вам, не всегда очевидно другому».

Что будет? Я расскажу, что такое миграции, зачем они нужны, как подготовиться к работе с ними и провести базовую работу на Django; отдельно подсвечу тему конфликтов и схлопываний, покажу, как содержать в чистоте историю миграций. 

Всё это с примерами на практике и иллюстрациями. Погнали!

Читать далее
1
23 ...