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

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

     04.03.2019       Выпуск 272 (04.03.2019 - 10.03.2019)       Статьи

Использование учетных записей Joomla в проекте на Django

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

     22.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи
     19.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи

Концепция полиморфизма в ORM Django

Свободный перевод статьи "Modeling Polymorphism in Django With Python" В статье описано идея использования полиморфизма в моделях ORM Django то есть создание возможности изменения базовой структуры под конкретные задачи.

     18.02.2019       Выпуск 270 (18.02.2019 - 24.02.2019)       Статьи
     05.02.2019       Выпуск 268 (04.02.2019 - 10.02.2019)       Статьи

«Удаление» объектов в Django

Рано или поздно перед разработчиками встаёт задача удаления ненужных данных. И чем сложнее сервис, тем больше нюансов необходимо учесть. В данной статье я расскажу, как мы реализовали «удаление» в базе данных с сотней связей. Читать дальше →

     25.01.2019       Выпуск 266 (21.01.2019 - 27.01.2019)       Статьи

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

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

     23.01.2019       Выпуск 266 (21.01.2019 - 27.01.2019)       Статьи
     11.01.2019       Выпуск 264 (07.01.2019 - 13.01.2019)       Статьи
     06.01.2019       Выпуск 263 (31.12.2018 - 06.01.2019)       Статьи

Кэширование шаблонов для различных типов контента

В статье "Различные шаблоны для рендеринга разных типов контента в поисковой выдаче" было показано, как сделать рендеринг различных шаблонов в зависимости от того, какой тип контента отрисовывается в поисковой выдаче на сайте. При этом ключевым моментом являлось то, что не приходилось делать проверочные условия для выбор шаблона. Информация о шбалоне хранилась в переменной TEMPLATE_PREVIEW, через которую шаблон подставлялся в include тег в шаблоне Django. В данном способе есть один большой недостаток. Дело в том, что тег include при каждом своём вызове ищет шаблон. Его необходимо было как-то кэшировать, что и решается в данной статье.

     02.01.2019       Выпуск 263 (31.12.2018 - 06.01.2019)       Статьи
     02.01.2019       Выпуск 263 (31.12.2018 - 06.01.2019)       Статьи
     24.12.2018       Выпуск 262 (24.12.2018 - 30.12.2018)       Статьи
     23.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

Как оптимизировать Django REST Viewsets

Базовая диагностика тормозов

     21.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

История одного эксперимента с Cython и C++ vector

Одним холодным зимним вечером, хотелось согреться в офисе и проверить теорию одного коллеги, что C++ vector мог бы быстрее справиться с задачей, чем CPython list.
В компании мы разрабатываем продукты на базе Django и случилось так, что нужно было обработать один большой массив словарей. Коллега предположил, что реализация на C++ была бы гораздо быстрее, а меня не покидало чувство, что Гвидо и сообщество наверное немного круче нас в Си и возможно уже решили и обошли все подводные камни, реализовав всё гораздо быстрее.
Для проверки теории, я решил написать небольшой тестовый файл, в котором решил прогнать в цикле вставку 1М словарей одинакового содержания в массив и в vector 100 раз подряд.
Результаты хоть и были ожидаемые, но так же и внезапные.

     18.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

Знакомство с Тестированием в Python. Ч. 2

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

     18.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи

Python и Django Logging

Как устроено и работает логгирование в Django

     17.12.2018       Выпуск 261 (17.12.2018 - 23.12.2018)       Статьи
     14.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Распознаём тексты на Android Things с ABBYY RTR SDK и django

Представьте себе небольшой конвейер. По нему едут товары или какие-то детали, на которых важно распознавать текст (возможно, это некий уникальный идентификатор, а может, и что-то более интересное). Хорошим примером будут посылки. Работу конвейера дистанционно контролирует оператор, который отслеживает неполадки и в случае чего решает проблемы. Что может ему в этом помочь? Девайс на платформе Android Things может быть неплохим решением: он мобильный, легко настраивается и может работать через Wi-Fi. Мы решили попробовать использовать технологии ABBYY и узнать, насколько они подходят для таких ситуаций — распознавания текста в потоке на “нестандартных устройствах” из категории Internet of Things. Мы сознательно будем упрощать многие вещи, так как просто строим концепт

     12.12.2018       Выпуск 260 (10.12.2018 - 16.12.2018)       Статьи

Топ книг по фреймворку Django

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