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

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

     22.10.2019       Выпуск 305 (21.10.2019 - 27.10.2019)       Статьи

Оптимизация производительности Django на примере боевого проекта

Последнее время я посвятил много времени оптимизации сайта и теперь хотелось бы рассказать об этом.
В данной статье будет объяснено использование методов select_related и prefetch_related в QuerySet, а также их различие. Также постараюсь объяснить почему Django считают медленным, и почему это всё-таки не так. Конечно Django по многим статьям медленнее, чем тот же Flask, но в тоже время в большинстве проектов проблема заключается не в самом Django, а скорее а в отсутствии опттимизации запросов к базе данных.

     19.10.2019       Выпуск 304 (14.10.2019 - 20.10.2019)       Релизы

pytest-djangoapp 0.12.0

В новой версии добавлена фикстура для контроля запросов к БД

     10.10.2019       Выпуск 303 (07.10.2019 - 13.10.2019)       Статьи

Шесть малоизвестных шаблонный тегов Django

Эта короткая статья предназначена тому, у кого нет времени читать документацию.

Оригинальная статья: highcenburgSix Django template tags not often used in tutorials

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

     11.09.2019       Выпуск 299 (09.09.2019 - 15.09.2019)       Статьи

Скоро Django 3

Не так долго осталось ждать декабря, на который запланирован выпуск новой версия каркаса для веб-разработки Django. Уже сейчас можно ознакомиться с альфа версией готовящегося выпуска.

Рассмотрим, чего нам ждать от новинки.

     02.09.2019       Выпуск 298 (02.09.2019 - 08.09.2019)       Статьи

Django. Как добавить статус онлайн на сайте

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

     26.08.2019       Выпуск 297 (26.08.2019 - 01.09.2019)       Статьи

Django - Как сделать select_related и prefetch_related для аутентифицированного пользователя

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

     13.08.2019       Выпуск 295 (12.08.2019 - 18.08.2019)       Статьи

Использование API HTMS для работы с реляционно-сетевой базой данных

В статье «Реляционно-сетевая модель данных» была предложена новая концепция моделирования данных HTMS, являющаяся развитием канонической реляционной модели. В настоящем материале будет показано на примерах, как ее можно практически использовать с применением API логического уровня.

Примеры привязаны к широко известному учебно-методическому решению по созданию сайтов — шаблону веб-проекта опросов на фреймворке Django в MS Visual Studio.

     08.08.2019       Выпуск 294 (05.08.2019 - 11.08.2019)       Статьи

Первое, что нужно сделать запуская проект на Django

Встала передо мной задача написать социальную сеть. А коль скоро язык программирования, которым я более-менее владею — это Python, я выбрал фреймворк Django для реализации проекта. Чтобы не тратить время на написание HTML шаблонов и CSS стилей, эти файлы я беру в интернете с пометкой Free. В основном это шаблоны от Colorlib. Поехали. Сразу оговорюсь, что использую PyCharm, поэтому могу не знать все команды из файла manage.py.

     30.07.2019       Выпуск 293 (29.07.2019 - 04.08.2019)       Статьи

Год приключений с graphene-python

Последний год я работал с graphene-python + django ORM и за это время я пытался создать какой-то инструмент, чтобы сделать работу с graphene удобнее. В результате у меня получилась небольшая кодовая база graphene-framework и набор некоторых правил, чем я бы и хотел поделиться.

     29.07.2019       Выпуск 293 (29.07.2019 - 04.08.2019)       Статьи

3 кейса для использования Celery в Django-приложении

Я занимаюсь созданием веб-приложений на Django. В основном, это SaaS сервисы для бизнеса. Во всех этих приложениях есть необходимость в асинхронных задачах. Для их реализации использую Celery. В статье расскажу о ситуациях, в которых применяю Celery, с примерами кода.

     26.07.2019       Выпуск 292 (22.07.2019 - 28.07.2019)       Статьи

Django 3.0 будет асинхронным

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

 

По мере развития экосистемы стало очевидно, что, хотя нет насущной необходимости расширять Django для поддержки отличных от HTTP протоколов, таких как вебсокеты, поддержка асинхронности даст много преимуществ для традиционной model-view-template структуры Django.

     25.07.2019       Выпуск 292 (22.07.2019 - 28.07.2019)       Статьи

Мелкая питонячая радость #8: мелкие удовольствия для работы с БД

Беглый опрос коллег на моем текущем проекте показал, что при словах "ORM и работа с БД" в подавляющем большинстве случаев звучат слова "Алхимия" и "Django ORM". Знания этих двух слов, в общем, достаточно, чтобы писать чистый, аккуратный и рабочий код. Но расширение инженерного кругозора пока еще никому не вредило, поэтому сегодня мы добавим в нашу картину мира несколько (возможно, до этого дня незнакомых) классных штук для работы с БД.

     20.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Видео

Django внутри Django: framework для чатботов

Михаил Новиков (Fasttrack, Тимлид)

С одной стороны — это доклад о том, как построить low-code платформу на базе Django Template Language, сделать ее безопасной и дать пользователям описывать бизнес-процессы на языке джанго-шаблонов. С другой — это рассказ для продвинутых (и не очень) разработчиков, как можно извратить джангу и пользоваться абсолютно всеми ее компонентами не по назначению☺ мы переписали роутер, urlconf, middleware, написали свою систему вьюх, свой template engine на базе родного джанговского и тд. Полезное для слушателей — на примере нашего "Django внутри Django" я расскажу о кишках самой джанги, об интересных паттернах, которые в ней применяются (например, миддлвары, которые начиная с версии 2 сделаны в функциональном стиле), об инсайтах по оптимизации (например, оказывается, резолв по урезанной части urlconf’а примерно в 10 раз быстрее резолва по полному urlconf’у) и так далее

     19.07.2019       Выпуск 291 (15.07.2019 - 21.07.2019)       Статьи

Управление конечным автоматом с использованием Django FSM

Представьте себе приложение типа JIRA со сложным рабочим процессом. Для создания такого приложения требуется поддержка управления конечным автоматом. Если вы создаете свое приложение с помощью Django, Django FSM предоставляет вам готовую поддержку для управления конечным автоматом.

Предположим, что наше приложение имеет следующий рабочий процесс выполнение Task.

     11.07.2019       Выпуск 290 (08.07.2019 - 14.07.2019)       Статьи

Настройка Django Settings: лучшие практики

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

     04.07.2019       Выпуск 289 (01.07.2019 - 07.07.2019)       Статьи

Как сообщить Google о других языках на вашем сайте Django

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

     20.06.2019       Выпуск 287 (17.06.2019 - 23.06.2019)       Статьи

Автоматизация скучных вещей в Django с помощью фреймворка Check

В этой статье я описал примеры из моего личного опыта, как мы используем библиотеки inspect, ast.

     11.06.2019       Выпуск 286 (10.06.2019 - 16.06.2019)       Статьи

Развертывание приложения на Django с uWSGI и nginx в производственной среде

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