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

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

     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. Чем они отличаются и когда какой лучше использовать

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

Django: Avoid database queries in template context processors

Как упростить жизнь Django приложению.

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

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

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

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

Django Performance Optimization Tips

This article looks at where potential performance issues can occur in a Django application and how to address them in order to speed up your app.

     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. Ускорение сайта с помощью кэширования шаблонов и их частей

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

     18.03.2023       Выпуск 482 (13.03.2023 - 19.03.2023)       Статьи
     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 в один клик. А ещё, я поделюсь подборкой полезных плагинов и горячих клавиш.

     03.03.2023       Выпуск 480 (27.02.2023 - 05.03.2023)       Статьи
     24.02.2023       Выпуск 479 (20.02.2023 - 26.02.2023)       Статьи

Пишем сервис для сокращения ссылок на Django, DRF

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

     20.02.2023       Выпуск 479 (20.02.2023 - 26.02.2023)       Статьи

Пакет для импорта данных в Django

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

     16.02.2023       Выпуск 478 (13.02.2023 - 19.02.2023)       Статьи

Создаем диаграмму миграций Django проекта

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

     31.01.2023       Выпуск 476 (30.01.2023 - 05.02.2023)       Статьи

Python Дайджест: как обновиться с Python 3.4 до Python 3.11, если pip уже сломан

Python Дайджест собирает IT-новости уже 9 лет, рассказывает о концепциях, проектах, релизах. Кодовая база за это время мало изменилась и уже деградировала. Более 5 лет не хватало сил и времени, чтобы привести проект в актуальное состояние. Django с 1.9 обновилась уже до 4.1 версии, Python 3.4 не актуален, да даже обновить пакет через pip не получается, потому что сломан. В 4 частях расскажу от первого лица, как 9-летний проект из состояния outdated вернулся в actual состояние и снова набрал 100 баллов в PageSpeed. Начну с обновления до актуального Python и Django.