IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

     13.01.2025       Статьи

Signals в Django

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

     10.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

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

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

     10.01.2025       Выпуск 578 (06.01.2025 - 12.01.2025)       Статьи

Сборка Django-приложения при помощи Nuitka в onefile

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

     26.12.2024       Выпуск 576 (23.12.2024 - 29.12.2024)       Статьи

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

Сегодня расскажу вам о базовой настройке SAST и DAST для django в gitlab cicd. В разработке использование SAST (Static Application Security Testing) и DAST (Dynamic Application Security Testing) в последние годы стало уже стандартом.

     12.12.2024       Выпуск 574 (09.12.2024 - 15.12.2024)       Статьи

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

Эта вторая часть большой статьи по Django-миграциям для начинающих. Разберем фиктивное применение, миграции данных, «сухую проверку» и основные проблемы, которые возникают у начинающих. Также поделюсь полезными советами и подсвечу детали работы.

     06.12.2024       Выпуск 573 (02.12.2024 - 08.12.2024)       Статьи

TIL: Django relations are not cached in model instance // Enrique Soria

Django will reevaluate relations multiple times if you let it. Here are some examples and workarounds.

     01.12.2024       Выпуск 572 (25.11.2024 - 01.12.2024)       Статьи

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

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

     28.11.2024       Выпуск 572 (25.11.2024 - 01.12.2024)       Статьи

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

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

     09.11.2024       Выпуск 569 (04.11.2024 - 10.11.2024)       Статьи

Кастомизация Django Admin. Часть 1: Структура шаблонов

Без четкого понимания того, как построены шаблоны и используемые классы любая попытка кастомизации превращается в пытку. Этот цикл статей — моя попытка помочь понять и полюбить то, как всё устроено изнутри. Тема длинная, так что начнем с самых азов. Сейчас мы разберем все основные шаблоны и механизм их поиска.

     07.11.2024       Выпуск 569 (04.11.2024 - 10.11.2024)       Статьи

Django-аутентификация: просто о сложном

Аутентификация является фундаментальной частью любого веб-приложения. Мы рассмотрим различные способы реализации аутентификации в Django, начиная от стандартных методов и заканчивая более крутыми техниками, например как 2FA и OAuth2.

     18.10.2024       Выпуск 566 (14.10.2024 - 20.10.2024)       Статьи

Встроенные механизмы безопасности фреймворков Python

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

     03.09.2024       Выпуск 560 (02.09.2024 - 08.09.2024)       Статьи

Автотесты на Django: менеджмент данных тестирования на монолите

Тестировать монолитное приложение может быть непросто — особенно, когда сервис активно развивается. На проверку каждой фичи уходит всё больше ресурсов, а времени на оптимизацию мало. Как поступить?

     06.08.2024       Выпуск 556 (05.08.2024 - 11.08.2024)       Статьи

Система оценивания для проведения экзаменов, срезов в СПО

Сегодня я расскажу вам о моей системе оценивания, которая создана для проведения экзаменов и оценки знаний студентов. Система построена на Django Rest Framework (DRF) для бэкенда и React с MaterialUI для фронтенда. Я добавил множество полезных функций, включая интеграцию с ISPmanager, которые делают систему удобной и эффективной.

     23.07.2024       Выпуск 554 (22.07.2024 - 28.07.2024)       Статьи

Самый быстрый фреймворк на Диком Западе: ускоряем Django-rest-framework вместе с Rust

На этапе запуска TestY в качестве фреймворка для разработки мы выбрали Django, так как он позволяет в максимально короткие сроки реализовать MVP. Однако развивать такой продукт — добавлять фичи, наращивать число пользователей и объем хранимых данных в системе — бывает сложно.

     20.07.2024       Выпуск 553 (15.07.2024 - 21.07.2024)       Статьи

Введение в оптимизация запросов к БД на django c помощью silk

Стоит ли использовать django в 2024? Я думаю - да. DRF очень удобен, скорость разработки очень высока(особенно, если использовать generic views, django-filters), огромное количество готовых батареек сильно облегчает жизнь и встроенная админка хорошо подходит для большинства сайтов.

     14.07.2024       Выпуск 553 (15.07.2024 - 21.07.2024)       Статьи

pytest-unordered: сравнение коллекций без учёта порядка

Во время работы над проектом на Django Rest Framework (DRF) я столкнулся с необходимостью писать тесты для API, которые возвращали неотсортированные данные. Сортировка данных в API не требовалась, и делать её только ради тестов казалось нелогичным. Использовать для решения этой задачи множества оказалось невозможным, так как элементы множества должны быть хэшируемыми, коими словари не являются.

     03.07.2024       Выпуск 551 (01.07.2024 - 07.07.2024)       Статьи

Как настроить уведомления в Django с помощью сигналов: пошаговое руководство

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

     02.07.2024       Выпуск 551 (01.07.2024 - 07.07.2024)       Статьи

Безопасность в Django: защита от распространенных угроз веб-приложений

Безопасность — ключевой аспект разработки веб-приложений. Но это понятие очень широкое, поэтому для его понимания нужно четко определить роль безопасности в современных веб-приложениях и то, какие аспекты она охватывает.

     18.06.2024       Выпуск 549 (17.06.2024 - 23.06.2024)       Статьи

Ускорение роутера в Django в 51 раз

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

     10.06.2024       Выпуск 548 (10.06.2024 - 16.06.2024)       Статьи

Пишем универсальный прототип бэкенд-приложения: Litestar, FastStream, dishka

Я бы хотел с вами поделиться своими наработками по теме бэкенд-приложений и предоставить вам шаблон-прототип, который, как мне кажется, может закрыть подавляющее большинство потребностей при их разработке. Для написания прототипа я буду использовать Litestar, FastStream и dishka. Эта статья будет особенно полезна тем, кто пишет на Tornado, Django, Flask или AIOHTTP и хочет перейти на более актуальные технологии для дальнейшего развития своих проектов на современных рельсах.