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

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

     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 и, соответственно, их решения.

     04.04.2023       Выпуск 485 (03.04.2023 - 09.04.2023)       Видео

Кто такой syslog, зачем читать RFC-* и причём тут Django

Как добавить в существующую систему логирования Django поддержку syslog. Форматы, как их готовить и как документировать этот хаос. И кстати, зачем?

     31.03.2023       Выпуск 484 (27.03.2023 - 02.04.2023)       Статьи

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

Наконец-то мне удалось сделать достаточно быстрый полнотекстовый поиск по нескольким моделям с учётом оптимизации запросов на сайте, который бы меня устраивал и отвечал моим требованиям к качеству проекта.

Если вы сейчас воспользуетесь поиском по сайту, то обнаружите, что поиск сработает достаточно быстро, а также выдаст несколько групп поиска: Статьи, Комментари, Темы форума, Ответы на форуме, Тесты.
Из всех групп поиска будут выбраны по три результата, а также будет у каждой группы есть счётчик общего количества найденных резульлатов и предложено посмотреть остальные результаты в отдельных вкладках.

     27.03.2023       Выпуск 484 (27.03.2023 - 02.04.2023)       Статьи

Декоратор cached_property

В этой статье хочется рассмотреть декоратор cached_property. Почему он есть и в стандартной библиотеке и в Django. Чем они отличаются и когда какой лучше использовать

     21.03.2023       Выпуск 483 (20.03.2023 - 26.03.2023)       Статьи

Django. Как написать блочный шаблонный тег tabbar наподобие тега blocktranslate

Туториал по написанию более продвинутых блочных шаблонных тегов в Django. Которые можно использовать помимо обычных inclusion_tag

     19.03.2023       Выпуск 482 (13.03.2023 - 19.03.2023)       Статьи

Django DRF Sign-in with Apple

Пришла пора внедрить систему аутентификации от Apple в проект на Django DRF, ведь система входа от Google была реализована давно и по идее проблем не должно было возникнуть, но как оказалось, у Apple есть свои определённые интересные и не очень особенности, о которых я напишу ниже.

     19.03.2023       Выпуск 482 (13.03.2023 - 19.03.2023)       Статьи

Django REST. Реализация функционала добавления в «избранное» с возможностью расширения типов добавляемого контента

Допустим у нас есть зарегистрированные пользователи и какая-то модель, например "Компании", которую пользователь может добавлять в избранное. Обычно такая задача решается путем создания третьей таблицы Favorite, являющейся связующим звеном, для реализации ManyToManyField связи между пользователем и компанией

     19.03.2023       Выпуск 482 (13.03.2023 - 19.03.2023)       Статьи

Django. Добавление счётчика уникальных просмотров

Как сделать простой счётчик уникальных просмотров на основе ip адреса для не авторизованных пользователей и записи в таблицы пользователей для авторизованных пользователей

     18.03.2023       Выпуск 482 (13.03.2023 - 19.03.2023)       Статьи

Django. Ускорение сайта с помощью кэширования шаблонов и их частей

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

     16.03.2023       Выпуск 482 (13.03.2023 - 19.03.2023)       Статьи

Python Дайджест: как актуализировать всю кодовую базу с помощью pre-commit

Продолжаю рассказывать, как open source проект Python Дайджест спустя 5 лет без обновлений удалось актуализировать по всему стэку технологий. В первой части рассказал, как удалось outdated проект с Python 3.4 обновить до Python 3.11 и Django 4.1. В этой части расскажу, как удалось максимально дешево привести кодовую базу в актуальное состояние.

     09.03.2023       Выпуск 481 (06.03.2023 - 12.03.2023)       Статьи

Как подружить Celery и SqlAlchemy 2.0 с асинхронным Python

Недавно, я столкнулся с задачей, когда с проекта на Python нужно было стряхнуть пыли и заставить работать чуточку производительнее. В следствии чего монолит был распилен на микросервисы, а брокером между сервисами стали всем знакомый RabbitMQ и такой же старый как сам Python - Celery. Проект был перенесен с Django на FastAPI, который по-моему субъективному мнению является идеальным решением для любых бэкендов на Python. Проблема с которой я столкнулся во время подключения Celery описана в данном посте.

     08.03.2023       Выпуск 481 (06.03.2023 - 12.03.2023)       Статьи

Как разработать канбан-доску на Django, DRF и Alpine.js

Для структурирования и мониторинга рабочих процессов используют канбан-доски — например, Jira и Trello. Они особенно полезны, когда задачи состоят из множества этапов — согласования, выполнения, ревью и продакшена.

     05.03.2023       Выпуск 480 (27.02.2023 - 05.03.2023)       Статьи

Основы PyCharm

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