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

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

     01.06.2022       Выпуск 441 (30.05.2022 - 05.06.2022)       Статьи

Django. Сохранение выбранного языка в настройках пользователя

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

     12.05.2022       Выпуск 438 (09.05.2022 - 15.05.2022)       Статьи

Django. Разрастание базы данных из-за таблицы django_session

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

     14.04.2022       Выпуск 434 (11.04.2022 - 17.04.2022)       Статьи

Асинхронный django — status update. Проект vinyl

Некоторое время назад я писал про альтернативные возможности, как можно добавить в django асинхронность (есть официальный подход, изложенный в DEP-09). С тех пор у меня получилось оформить свои идеи в нечто относительно цельное, что вылилось в vinyl project. Описание проекта читайте на гитхабе, здесь же я хочу рассказать о его интересных особенностях.

     02.03.2022       Выпуск 428 (28.02.2022 - 06.03.2022)       Статьи

Откровения про отсутствующий Nested Inline от разработчика с очень маленьким Django

— Стыдно признаться, но в нашей компании мы до сих пор используем Django… Так начинали со мной разговор представители навороченных стендов российских конференций Pycon Russia 2021 и Moscow Python Conf++ 2021, где я выступал с докладами про Django. Эдакий "coming out" без объяснений, почему это стыдно, и зачем в этом надо признаваться. Если уж «Все леди делают это» так давайте говорить об этом, как о чем-то нормальном! Я, например, рассказываю, как делать это в удовольствие и с естественными извращениями. Я про работу с Django, конечно, а вы, о чем подумали? Дальше речь пойдет как раз про извращения. Шок контент и ненормативная лексика.

     01.03.2022       Выпуск 428 (28.02.2022 - 06.03.2022)       Статьи

Как тестировать сайт на Django. Часть 3. Отправка результата на почту, TestExplorer и декоратор tag

Тесты написаны, тимлид рад, а что дальше-то делать? А дальше – автоматизация и отправка отчёта по тестам. Именно об этом мы поговорим в данной статье, попутно затронув полезный инструмент TestExplorer и декоратор tag.

     22.02.2022       Выпуск 427 (21.02.2022 - 27.02.2022)       Статьи

Как тестировать сайт на Django. Часть 2. JavaScript и русский текст на английских страницах

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

     14.02.2022       Выпуск 426 (14.02.2022 - 20.02.2022)       Статьи

Как мы собрали проект на Django и React и уважили загрузчик Webpack

Когда мы взялись за гибридный проект, в котором одновременно использовались Django и React, мы столкнулись с дилеммой: как интегрировать две эти части, в особенности, как разрешить шаблонам Django отображать ресурсы JavaScript, сгенерированные при клиентской сборке. Мы нашли изящный способ, позволяющий с этим справиться: использовать Webpack-загрузчик для Django с трекером бандлов Webpack, при помощи которых нам поддался этот этап работы сборочного конвейера. А в этой статье мы научим вас, как это делается.

     14.02.2022       Выпуск 426 (14.02.2022 - 20.02.2022)       Статьи

Django Rest Framework. Добавление аутентификации по токену

Стартовая статья по серии примеров работы с Django Rest Framework. В данной статье показан пример настройки получения токена аутентификации, настройка swagger документации, а также имеется пример кода на QML/Felgo для получения токена в мобильном приложении.

     09.02.2022       Выпуск 425 (07.02.2022 - 13.02.2022)       Видео

Deploy Django into Production with Kubernetes, Docker, & Github Actions. Complete Tutorial Series

Kubernetes is a tool to manage containers. This type of management is called orchestration because it does more than just manage the containers such as it will scale up and scale down resources as needed (among many other things). Since Kubernetes is a massive tool, we're going to be covering a practical implementation using a Docker-based Django application.

     09.02.2022       Выпуск 425 (07.02.2022 - 13.02.2022)       Статьи

Django - Как конвертировать изображение в формат WEBP при сохранении в ImageField

Простейший пример кода WEBPField для конвертирования изображений в формат WEBP при загрузке изображений на сайт на Django.

     08.02.2022       Выпуск 425 (07.02.2022 - 13.02.2022)       Статьи

Django - Как написать функционал auto populate field

Использование функционала auto populate field на примере простого MarkdownField для генерирования html контента в обычный TextField при сохранении объекта в Django Framework

     04.02.2022       Выпуск 424 (31.01.2022 - 06.02.2022)       Интересные проекты, инструменты, библиотеки

django-ninja 0.17.0

Вышло минорное обновление пакета django-ninja - пакета генерации документации API

- Алиасы полей теперь поддерживают точечный синтаксис переменных шаблона django;
- Улучшена работа с пагинацией;
- Добавлена поддержка типа Union в payload запроса.
- Добавленна команда для выгрузки OpenAPI схемы в файл.
- Теперь вы можете получить доступ к атрибутам экземпляра формы внутри схемы с помощью преобразователей

     31.01.2022       Выпуск 424 (31.01.2022 - 06.02.2022)       Статьи

Хватит терять клиентов! Или как разработчику тестировать сайт, на примере PVS-Studio. Часть 1

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

     29.12.2021       Выпуск 419 (27.12.2021 - 02.01.2022)       Статьи

Django Rest Framework для начинающих: как работает ModelSerializer

В предыдущих статьях мы подробно разобрали работу сериалайзера на основе классов BaseSerializer и Serializer, и теперь мы можем перейти к классу-наследнику ModelSerializer.

     27.12.2021       Выпуск 419 (27.12.2021 - 02.01.2022)       Статьи

Как мы оптимизировали i-запросы, а нашли неточности в документации Django (clickbait)

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

     26.12.2021       Выпуск 418 (20.12.2021 - 26.12.2021)       Статьи

Django-sockpuppet, интересная альтернатива React, Vue, Angular или очередная заброшенная джанговская «батарейка»?

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

     10.12.2021       Выпуск 416 (06.12.2021 - 12.12.2021)       Статьи

Окей, Джанго, у меня к тебе несколько вопросов

Недавно я проходил очередное интервью, и меня спросили, пишу ли я на flask, на что я ответил, что я себя люблю, и поэтому пишу на django. Меня не взяли, потому что, кхм, у них, оказывается, много чего было на фласке, и вышло неловко. Да-да, я знаю, фласк крут, потому что он простой, всё что надо ставишь сам, а чего не надо там и так нет, но как по мне, всё равно потом получается django.

     08.12.2021       Выпуск 416 (06.12.2021 - 12.12.2021)       Статьи

Django Rest Framework для начинающих: создаём API для записи и обновления данных (часть 2)

Продолжаем цикл статей, посвящённый основам Django Rest Framework. В предыдущей статье мы подробно рассмотрели, как сериалайзер валидирует входные данные.

 

В этой статье мы закрепим теорию на простом примере, а также затронем те вопросы, которые не успели рассмотреть раньше

     06.12.2021       Выпуск 416 (06.12.2021 - 12.12.2021)       Статьи

Деплоим приложение на Django в Kubernetes с нуля

Нашей компании уже 6 лет, и 4 из них мы живем с Kubernetes. До этого мы испытали все варианты деплоя приложений на серверах: начиная от простого git pull до ci/cd на нескольких серверах.

     29.11.2021       Выпуск 415 (29.11.2021 - 05.12.2021)       Статьи

Метаклассы в Python

Возможен вопрос: а что такое метакласс? Если коротко, метакласс относится к  классу точно как класс к объекту.

Метаклассы – не самый популярный аспект языка Python; не сказать, что о них воспоминают в каждой беседе. Тем не менее, они используется в весьма многих статусных проектах: в частности, Django ORM[2], стандартная библиотека абстрактных базовых классов (ABC)[3] и реализации Protocol Buffers [4].