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

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

     07.04.2020       Выпуск 329 (06.04.2020 - 12.04.2020)       Статьи

Начало работы с middleware в Django

Оригинальная статья: PAWEŁ FERTYKGetting started with Django middleware

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

Исходный код, включенный в этот пост, доступен на GitHub.

     01.04.2020       Выпуск 328 (30.03.2020 - 05.04.2020)       Релизы
     30.03.2020       Выпуск 328 (30.03.2020 - 05.04.2020)       Статьи
     27.03.2020       Выпуск 327 (23.03.2020 - 29.03.2020)       Статьи

Clean Architecture глазами Python-разработчика

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

     19.03.2020       Выпуск 326 (16.03.2020 - 22.03.2020)       Статьи
     16.03.2020       Выпуск 326 (16.03.2020 - 22.03.2020)       Статьи

Создание динамических моделей в реалтайме в Django

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

     16.03.2020       Выпуск 326 (16.03.2020 - 22.03.2020)       Статьи
     16.03.2020       Выпуск 326 (16.03.2020 - 22.03.2020)       Статьи

Nuxt + Django + GraphQL на примере

В этой статье вы сможете узнать как можно собрать dev-окружение современного SPA приложения с server side рендерингом, на основе фреймворков Django и Nuxt, а также их сообщения посредством GraphQL API.

 

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

     11.03.2020       Выпуск 325 (09.03.2020 - 15.03.2020)       Статьи

Как управлять загружаемыми файлами в Django

Когда файл доступен конкретному пользователю

     11.03.2020       Выпуск 325 (09.03.2020 - 15.03.2020)       Статьи

Flask-DJ: Django (mvc) структура для проекта на flask

Когда я впервые столкнулся с Flask, у меня сразу возник вопрос по построению архитектуры проекта.

 

Прочитав пару статей на Хабре (https://habr.com/ru/post/275099/ и https://habr.com/ru/post/421887/), я вспомнил свой опыт создания проектов на Django, и решил сделать инструмент, благодаря которому не придется задумываться об архитектуре, но при этом можно будет использовать все возможности Flask.

     04.03.2020       Выпуск 324 (02.03.2020 - 08.03.2020)       Статьи

Двойная проверка блокировки с Django ORM

Оригинальная статья: Luke PlantDouble-checked locking with Django ORM

Шаблон блокировки с двойной проверкой может быть полезен, когда:

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

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

     04.03.2020       Выпуск 324 (02.03.2020 - 08.03.2020)       Релизы
     03.03.2020       Выпуск 324 (02.03.2020 - 08.03.2020)       Статьи
     01.03.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Вопросы и обсуждения
     27.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Статьи

Подсчет запросов: Базовое тестирование производительности на Django

Очень часто можно услышать о методах тестирования, таких как TDD, и о том, как тестировать бизнес-логику приложения. Однако тестирование производительности приложения – это совсем другая задача. Есть много разных способов, но самым общим подходом считается создание среды, в которой можно проводить DDoS-атаку на свое приложение и наблюдать за его поведением. Это очень интересная тема, но это не то, о чем я хочу сегодня поговорить. Сегодня мы рассмотрим более простой тест, тот, который вы можете сделать с использованием юнит-тестов Django по умолчанию: то есть тестирование количество обращений вашего приложения к базе данных.

     26.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Вопросы и обсуждения
     25.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Релизы

django-test-migrations 0.2.0

Пакет для тестирования миграций Django

     24.02.2020       Выпуск 323 (24.02.2020 - 01.03.2020)       Статьи

Как выключить именованные миграции в Django

Вместо 0002_mymodel_myfield.py получаем 0002_auto_20200113_1837.py

     19.02.2020       Выпуск 322 (17.02.2020 - 23.02.2020)       Видео

Django в стартапе: от 0 до 150 000 строк кода, не жертвуя качеством

Речь пойдет о том, как мы поддерживаем здоровье кодовой базы в проекте с безумными требованиями к скорости и постоянно меняющимися задачами. Мы поговорим про TDD, SOLID и KISS там, где люди меньше всего к этому готовы — в стартапе, который доставляет стройматериалы