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

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

     01.03.2021       Выпуск 376 (01.03.2021 - 07.03.2021)       Статьи

Новое тестирование фичей в Django 3.2

Пару недель назад Django 3.2 выпустил свой первый альфа-релиз, а финальный релиз выйдет в апреле. Он содержит микс новых возможностей, о которых вы можете прочитать в примечаниях к релизу. Эта статья посвящена изменениям в тестировании, некоторые из которых можно получить на более ранних версиях Django с пакетами backport.

     01.03.2021       Выпуск 376 (01.03.2021 - 07.03.2021)       Статьи

Архитектура в Django проектах — как выжить

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

     09.02.2021       Выпуск 373 (08.02.2021 - 14.02.2021)       Статьи

Зачем вам может понадобиться SITE_ID в настройках Django

Если вы не используете все возможности Django, то, очень вероятно, вы не пользуетесь SITE_ID. Этому способствуют как убогая официальная документация Sites framework, так и несогласованное с Sites развитие кода Django.

Предположу, что Sites скоро будет бездумно снесен свежими «разработчиками» Django, как это уже произошло с модулями Comments (Dj 1.6) или Formtools (Dj 1.8). А, пока этого не произошло, предлагаю вам поразмышлять о возможностях Django Sites framework.

     09.02.2021       Выпуск 373 (08.02.2021 - 14.02.2021)       Статьи

11 друзей Sanic’а – собираем асинхронное веб-приложение на Python

Рано или поздно маленькие приложения разрастаются до нагруженных production-решений, поэтому программисту необходимо заранее продумать стек технологий. Для Python концептуальный выбор стоит между синхронными и асинхронными фреймворками. После появления библиотеки asyncio популярность асинхронных Python-фреймворков сильно выросла, потеснив таких монстров, как Django и Flask, и стало намного проще писать веб-приложения, способные пережить высокий RPS.

     05.02.2021       Выпуск 372 (01.02.2021 - 07.02.2021)       Статьи

Конвертеры маршрутов в Django 2.0+ (path converters)

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

     28.01.2021       Выпуск 371 (25.01.2021 - 31.01.2021)       Статьи

Сохранение данных через сериализатор Django REST Framework

Очень часто приходится сталкиваться с проектами в которых DRF Serializer используется только для вывода данных. А для ввода данных и их верификации используются какие то отдельные функции. Что как мне кажется совершенно неправильно. Если в проекте используется DRF Serializer то именно он и должен быть задействован для ввода и для вывода.

     23.01.2021       Выпуск 370 (18.01.2021 - 24.01.2021)       Статьи

Как сделать Data Science приложение для Windows (и не только) с графическим интерфейсом с помощью PySimpleGUI

Работать с Data Science в Jupyter, конечно, очень приятно, но если вы хотите пойти дальше и развернуть свой проект или модель на облачном сервере, то здесь есть много отличных решений — с помощью Flask, Django или Streamlit. Хотя облачные решения по-прежнему самые популярные, часто хочется создать быстрое приложение с графическим интерфейсом.

     22.01.2021       Выпуск 370 (18.01.2021 - 24.01.2021)       Статьи

Разрабатываем и развёртываем собственную платформу ИИ с Python и Django

Взлёт искусственного интеллекта привёл к популярности платформ машинного обучения MLaaS. Если ваша компания не собирается строить фреймворк и развёртывать свои собственные модели, есть шанс, что она использует некоторые платформы MLaaS, например H2O или KNIME. Многие исследователи данных, которые хотят сэкономить время, пользуются этими инструментами, чтобы быстро прототипировать и тестировать модели, а позже решают, будут ли их модели работать дальше. 

     19.01.2021       Выпуск 370 (18.01.2021 - 24.01.2021)       Статьи

Настройка аутентификации JWT в новом проекте Django

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

     16.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Видео

Запуск проекта на uWSGI, Django и PostgreSQL в облаке

О том, как быстро создать скелет веб-проекта на Django, uWSGI и PostgreSQL, доставить его в облако и запустить там.

     15.01.2021       Выпуск 369 (11.01.2021 - 17.01.2021)       Релизы

django-etc 1.3.0 — пользовательские формы в админке Django

Как быстро и просто создать страницу с пользовательской формой для административного интерфейса Django.

     05.01.2021       Выпуск 368 (04.01.2021 - 10.01.2021)       Статьи

Использование django-version-checks

В этом руководстве рассмотрим установку и использование простой библиотеки для проверки версий внешних зависимостей.

     28.12.2020       Выпуск 367 (28.12.2020 - 03.01.2021)       Статьи

6 лучших декораторов Django

Декоратор— это название одного из самых популярных шаблонов проектирования, используемых в настоящее время, хотя часто мы используем его, не зная, что это именно шаблон проектирования.

     23.12.2020       Выпуск 366 (21.12.2020 - 27.12.2020)       Статьи

Ещё раз о производительности фреймворков Python для веб разработки

Недавно мне пришлось начинать проект нового веб сервиса, и я решил протестировать максимальную нагрузочную способность Django, а заодно сравнить её с Flask’ом и AIOHTTP. Результат показался мне неожиданным, поэтому я «просто оставлю» его тут.

На диаграммах ниже приведены результаты простейшего Apache Benchmark’a для фреймворков Django версии 3.1, Flask 1.1 и AIOHTTP 3.7. AIOHTTP работает в «штатном» однопоточном асинхронном режиме, Django и Flask обслуживаются синхронным WSGI сервером Gunicorn с числом потоков, равным числу доступных ядер процессора * 2. ASGI в тесте не участвовал.

     07.12.2020       Выпуск 364 (07.12.2020 - 13.12.2020)       Статьи

Редактирование JSON полей через Django админку

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

     25.11.2020       Выпуск 362 (23.11.2020 - 29.11.2020)       Видео

Moscow Python Podcast. Подкаст про Django (level: All)

В гостях у Moscow Python Podcast Фёдор Борщёв. Поговорили с Фёдором о текущем состоянии Django, асинхронности в нём и о его будущем.

     05.11.2020       Выпуск 359 (02.11.2020 - 08.11.2020)       Статьи

Мелкая питонячая радость #12: вирусы и зловредное ПО на Python

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

Трудно сказать, что толкает людей на создание вредоносного ПО на этом языке программирования. Обилие выпускников “шестимесячных курсов Django-программистов” с пробелами в базовых технических познаниях?  Желание нагадить ближнему без необходимости учить C/C++?  Или благородное желание разобраться в технологиях виримейкерства путем создания небольших прототипов вирусов на удобном языке?

     26.10.2020       Выпуск 358 (26.10.2020 - 01.11.2020)       Статьи

Создаём установщик веб-приложения Python, включающий Apache, Django и PostgreSQL для ОС Windows

Данный пост является продолжением первой части статьи на Хабре, где было подробно рассказано о развертывании Django стека на MS Windows. Далее будет представлена пошаговая инструкция по созданию инсталлятора, который будет автоматизировать процесс установки стека на других компьютерах без необходимости работы в командной строке, созданием виртуальных машин и т.д., где вся последовательность действий будет сводится к действиям Далее -> Далее -> Готово.

     25.10.2020       Выпуск 357 (19.10.2020 - 25.10.2020)       Статьи

Что происходит, когда вы выполняете manage.py test?

Вы запускаете тесты командой manage.py test, но знаете ли вы, что происходит под капотом при этом? Как работает исполнитель тестов (test runner) и как он расставляет точки, E и F на экране?

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

     14.10.2020       Выпуск 356 (12.10.2020 - 18.10.2020)       Статьи

Логирование запросов к приложению Django

В статье - наработки по логированию запросов к приложению Django. С помощью небольшого количества кода Django/Python можно быстро и просто собрать различные характеристики запросов к приложению и провести их анализ.