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

Собрали в одном месте самые важные ссылки
и сделали Тренажер IT-инцидентов для DevOps/SRE

     18.09.2023       Выпуск 509 (18.09.2023 - 24.09.2023)       Статьи

Hello-World туториал на React/Django/RabbitMQ/Websockets

Однажды в поисках примера на React/Django я нашел на Хабре одну интересную статью. Она показалась мне полезной, и я решил дополнить пример из статьи новыми возможностями. В этом сиквеле мы добавим в веб-проект со списком студентов поддержку авторизации и real-time уведомлений на сокетах, улучшим систему Docker-сборки, оптимизируем модель очередей на RabbitMQ и немного пригладим косметику. В результате получим удобный базовый шаблон, с которого вы сможете начинать свои проекты.

     11.09.2023       Выпуск 508 (11.09.2023 - 17.09.2023)       Статьи

Django — Защищенный медиаконтент

Статья описывает способ доступа к внутренним директориям в nginx на сайте на django. Создайте каталог protected, загрузите изображение, и получите к нему доступ на сайте с предварительной проверкой прав доступа к этому изображению.

     08.09.2023       Выпуск 507 (04.09.2023 - 10.09.2023)       Статьи

Интеграция Telegram ботов в Django приложениях

(см комментарии к статье)

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

     07.09.2023       Выпуск 507 (04.09.2023 - 10.09.2023)       Статьи

Как сделать свою страницу в Django Admin с выразительной Hand Chart?

Мир покера – увлекательный и непредсказуемый. Волнение перед каждой раздачей, стратегические решения, анализ оппонентов – все это создавало уникальную атмосферу напряжения и интриги. Однажды я получил предложение поучаствовать в проекте связанным с покерной тематикой.

     05.08.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Как работают select_related и prefetch_related в Django

Часто определение разницы между select_related и prefetch_related звучит как “первый для ForeignKey полей, второй для ManyToMany”, однако это описание не раскрывает суть работы этих методов.

     31.07.2023       Выпуск 502 (31.07.2023 - 06.08.2023)       Статьи

Django, RQ и FakeRedis

Я часто в своих проектах использую связку Django + RQ вместо Celery. RQ удобный и максимально простой инструмент среди популярных Task Queue решений в экосистеме Python.

     14.07.2023       Выпуск 499 (10.07.2023 - 16.07.2023)       Статьи

Простой бэкап базы данных и статики для небольшого Django-проекта

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

     03.06.2023       Выпуск 493 (29.05.2023 - 04.06.2023)       Статьи

Автоматизация деплоя Django-приложения в маленькой команде: пошаговый гайд

Развёртывание ПО, или деплой (deploy) — этап в разработке, в Devops в целом, это действия, которые делают ПО готовым к использованию. Если вы умеете в грамотный деплой, масштабирование и управление конвейерами (CI/CD), то ваш софт будет конкурентоспособным.

     01.06.2023       Выпуск 493 (29.05.2023 - 04.06.2023)       Статьи

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 2

В предыдущей части мы частично разобрали шаблон для нашего блога, выбрали виртуальную машину и запустили на ней нативный веб-сервер Django. Однако он предназначен только для тестирования и запуска приложений во время разработки. Для обработки запросов в продакшене нужно настроить Nginx и WSGI Gunicorn. В этой статье показываем, как это сделать.

     17.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Создаем блог на Django с опросами и тестами. Краткая инструкция. Часть 1

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

     16.05.2023       Выпуск 491 (15.05.2023 - 21.05.2023)       Статьи

Как написать расширение для Python Markdown

Пример простого расширения для Python-Markdown применительно для сайта на Django

     09.05.2023       Выпуск 490 (08.05.2023 - 14.05.2023)       Статьи

Автоматическая документация API Django Rest Framework с помощью DRF Spectacular

Целью этой статьи является демонстрация возможностей drf-spectacular для документирования API и основного набора техник, которые покроют большую часть сценариев использования. Мы настроим генерацию документации и рассмотрим все основные способы гибкой настройки отображения.

     04.05.2023       Выпуск 489 (01.05.2023 - 07.05.2023)       Релизы

django-taggit - 4.0.0

Приложение для поддержки тегов в Django. Приложение будет крайне полезно на сайте с новостями, которые необходимо помечать тегами, так же можно легко реализовать сортировку по тегам.. Скачать можно по ссылке: https://pypi.python.org/pypi/django-taggit/

     25.04.2023       Выпуск 488 (24.04.2023 - 30.04.2023)       Статьи

Python Дайджест: как ускорить Django проект до (почти) максимума

Завершение цикла статей про техническое оживление Python Дайджест. В первых трех частях рассказано как был совершен переход с Python 3.4 на Python 3.11 и Django 4, отформатирована вся кодовая база с pre-commit, настроена автоматизация задач на основе Github Actions. В заключительной части расскажу как получить "быстрый" сайт.

     24.04.2023       Выпуск 488 (24.04.2023 - 30.04.2023)       Статьи

Что произошло в мире Python за последний месяц

В апреле поговорили об исследовании экосистемы Django от JetBrains, LTS-релизе Django 4.2, релизе Pandas 2.0 и свежих PEP. Под катом — текстовая выжимка из обсуждения.

     18.04.2023       Выпуск 487 (17.04.2023 - 23.04.2023)       Статьи

403, 404 или 405. Разбираемся со статусами во ViewSet’ах DRF

Идея делать нормальный REST на Django – утопия, но некоторые моменты настолько логичные и нет одновременно, что об этом хочется писать. Ниже история про то, как мы сделали ViewSet от GenericViewSet и пары миксинов в DRF, покрыли это все тестами и получили местами странные, но абсолютно обоснованные коды ответов.

Текст может быть полезен новичкам (или чуть более прошаренным) в Django, дабы уложить в голове формирование url’ов и порядок вызова методов permission-классов. Ну а бывалые скажут, что все это баловство и надо было использовать GenericApiView.

     12.04.2023       Выпуск 486 (10.04.2023 - 16.04.2023)       Статьи

Релиз Django LTS 4.2: обзор изменений и необходимости обновления

В апреле 2023 года вышла новая LTS-версия Django Web Framework, одного из самых популярных фреймворков для веб-разработки на Python.«Вышла новая версия! Почему вы до сих пор не перешли на неё?» — такой вопрос часто возникает у студентов, изучающих этот фреймворк на курсах программирования. Аналогичный вопрос можно услышать и от начинающего специалиста, который недавно приступил к выполнению своих обязанностей в качестве бэкенд-разработчика.А стоит ли сейчас вообще начинать новый проект на Django или изучать этот фреймворк? В этой статье я, Евгений Бартенев, техлид и автор курса «Python-разработчик», помогу разобраться с этими и другими вопросами. Мы поговорим о разных типах релизов Django, посмотрим на главные изменения в новом и затронем основные аспекты, которые следует учитывать при обновлении версии Django в проекте.

     10.04.2023       Выпуск 486 (10.04.2023 - 16.04.2023)       Статьи

Интеграция и кастомизация OpenAPI в Django/Django Rest Framework

Рассмотрим способы интеграции OpenAPI схемы в экосистему Django/DRF с помощью библиотеки drf-spectacular, а также некоторые проблемы, возникающие при кастомизации API и, соответственно, их решения.