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

Собрали в одном месте самые важные ссылки
читайте авторский блог

     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 можно быстро и просто собрать различные характеристики запросов к приложению и провести их анализ.

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

Почему интернационализация и локализация имеют значение

Согласно всегда правдивой информации на Википедии, в мире насчитывается около 360 миллионов носителей английского языка. Мы, как разработчики, настолько привыкли писать код и документацию на английском языке, что не осознаем, что это число – это всего. 4,67% населения всего мира. Единый язык общения между разработчиками – это, конечно, хорошо, но это не значит, что пользователь должен чувствовать дискомфорт при использовании вашего продукта.

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

     05.10.2020       Выпуск 355 (05.10.2020 - 11.10.2020)       Статьи

Отношение один к одному: связывание модели пользователя с кастомной моделью профиля в Django

Снова базы данных? В реляционной базе данных есть три основных отношения: Отношение «один-к-одному»; Отношение «один-ко-многим»; Отношение «многие-ко-многим». В этой статье мы будем разбираться с первым из них – отношением «один-к-одному».

     11.09.2020       Выпуск 351 (07.09.2020 - 13.09.2020)       Статьи

Объяснение @classmethod и @staticmethod в Python

Перевод: Python’s @classmethod and @staticmethod Explained

Для новичков, изучающих объектно-ориентированное программирование на Python, очень важно хорошо разбираться в таких понятиях как classmethod и staticmethod для написания более оптимизированного и повторно используемого кода.

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

     09.09.2020       Выпуск 351 (07.09.2020 - 13.09.2020)       Видео

ORM vs plain SQL, why not both?

Буду рассказывать о ложной дихотомии ORM и запросов в голом SQL. Расскажу, как Django с одной стороны и aiohttp+asyncpg с другой позволяли нам катиться как угорелые

     03.09.2020       Выпуск 350 (31.08.2020 - 06.09.2020)       Видео

We make services / Никита Соболев (wemake.services)

Краткий обзор тайп-чекинга в питоне, mypy, pep484. Как я писал библиотеку django-stubs. С какими проблемами столкнулся в процессе. Что еще планируется сделать. DEP (Django Enhancement Proposal) по поводу добавления типов в core.

     25.08.2020       Выпуск 349 (24.08.2020 - 30.08.2020)       Видео

ORM vs plain SQL, why not both?

Буду рассказывать о ложной дихотомии ORM и запросов в голом SQL. Расскажу, как Django с одной стороны и aiohttp+asyncpg с другой позволяли нам катиться как угорелые

     31.07.2020       Выпуск 345 (27.07.2020 - 02.08.2020)       Статьи

Логгирование в Django (начальный обзор)

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

     24.07.2020       Выпуск 344 (20.07.2020 - 26.07.2020)       Статьи

Как Django может обрабатывать 100 миллионов запросов в день

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

Действительно, Python не очень «быстрый» язык программирования, однако он прост, удобен и люди его любят. С точки зрения производительности, он не может быть таким же быстрым, как Go или Node.js, но это становится несущественным, если рассматривать современные инфраструктуры и модульную разработку.

Поскольку я уже несколько лет варюсь в этом «котле разработки на Django», я пришел к нескольким ценным выводам, которыми собираюсь с вами поделиться.

     09.07.2020       Выпуск 342 (06.07.2020 - 12.07.2020)       Статьи

Сравнение разных django filter на примере демо базы PostgreSQL

Началось всё с того, что мне предложили в рамках предмета "Основы веб-программирования" поучаствовать в проекте, вместо проделывания лабораторных работ и курсовой, поскольку я заявил о том, что хотел быть делать нечто отдалённое от общего курса (и так уже достаточно знаний было по связке DRF + Vue, хотелось чего-то нового). И вот в одном из своих PR на github я решил использовать полнотекстовый поиск (задание намекало на это) для фильтрации контента, что заставило меня обратиться к документации Django в поисках того, каким же образом лучше это дело реализовать.