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

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

     04.07.2018       Выпуск 237 (02.07.2018 - 08.07.2018)       Статьи

Django. Как сделать поиск по нескольким моделям данных Django

Статья о том, как сделать поисковую страницу на сайте, которая будет искать контент сразу в нескольких моделях данных, без использования сторонних библиотек.

     24.06.2018       Выпуск 235 (18.06.2018 - 24.06.2018)       Статьи

Создание management commands в Django

Management commands — команды, выполняемые из командной строки с помощью скрипта manage.py.

Наиболее частые сферы применения — это действия, выполняемые разово или периодически, но для которых почему-либо недоступен запуск через планировщик. Например, отправка пользователям разовых сообщений, получение выборки данных из БД, проверка наличия необходимых файлов и папок перед накатыванием обновлений, быстрое создание объектов модели при разработке и т.д.

     22.06.2018       Выпуск 235 (18.06.2018 - 24.06.2018)       Статьи

Celery + Channels = <3. Создаем реал-тайм приложение с бэкграунд тасками

В статье создадим веб-приложение, которое в бэкграунде делает запросы к API со случайными шутками каждые 15 секунд, затем отправляет шутку пользователю через WebSocket. Для реализации приложения будем использовать: django, celery и channels. Celery для бэкграунд задач. Channels для передачи сообщений через WebSocket.

     17.06.2018       Выпуск 234 (11.06.2018 - 17.06.2018)       Интересные проекты, инструменты, библиотеки

Анонс pytest-djangoapp

О новом плагине для pytest, который упростит вам написание и исполнение тестов для подключаемых приложений Django.

     24.05.2018       Выпуск 231 (21.05.2018 - 27.05.2018)       Статьи

Быстрые тесты в Django

Медленные тесты не только тратят время разработчиков на ожидание, но и усложняют следование лучших практик TDD (red-green testing). Когда тестовый набор выполняется несколько минут или дольше - это приводит к тому, что весь набор тестов запускают редко и баги, которые можно было бы исправить раньше и быстрее, откладываются.

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

     18.04.2018       Выпуск 226 (16.04.2018 - 22.04.2018)       Статьи

Автоматизация криптоторговли с Django и Celery

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

     08.04.2018       Выпуск 224 (02.04.2018 - 08.04.2018)       Видео

Django-rester, как легкая альтернатива django-rest-framework

При разработке сервисов на django, мы столкнулись с тем, что не пользуемся большей частью пакета django-rest-framework, о чем я упоминал на Moscow Python Conf 2017. В итоге мы сделали свой небольшой пакет для простой реализации REST API в Django проектах

     08.04.2018       Выпуск 224 (02.04.2018 - 08.04.2018)       Видео

Начинаем Django приложение правильно

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

     21.03.2018       Выпуск 222 (19.03.2018 - 25.03.2018)       Статьи

Авторизация через Telegram в Django и Python Telegram Django

В начале февраля Павел Дуров анонсировал, что у Telegram появился так называемый Telegram Login Widget. Проще говоря, теперь любой желающий может встроить авторизацию на своем сайте через Telegram, наряду с уже удобными способами входа через привычные для всех Google, Twitter, Facebook и так далее.

В этой заметке я хочу рассказать и наглядно показать как это сделать, используя Django. Исходный код свободно доступен в моем репозитории на GitHub. Пользуйтесь на здоровье.

     20.03.2018       Выпуск 222 (19.03.2018 - 25.03.2018)       Статьи

Несколько советов по организации Python-приложения на сервере

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

 

 

Я работаю, в основном, с Python/Django стеком, поэтому все примеры будут, в первую очередь, применительно к этому набору. Также ключевые технологии: Ubuntu (17.10), Python3 (3.6).

     09.03.2018       Выпуск 220 (05.03.2018 - 11.03.2018)       Статьи

Django + Vue. Реализуем вход через Google Django

Никто не любит при регистрации на сайте вводить каждый раз одно и то же: имя пользователя, электронную почту и т.д. Либо постоянно создавать и запоминать новые пароли. По этой причине, вход через сторонние приложения вроде Google, Facebook или VK очень популярен.

Такие сторонние приложения используют протокол OAuth2. В статье я не буду объяснять, что это за протокол и как его реализовать. Вместо этого реализуем вход на сайт через Google использую уже готовые библиотеки. Бэкэнд напишем на Django и Django Rest Framework, а фронтэнд на Vue.js

     01.03.2018       Выпуск 219 (26.02.2018 - 04.03.2018)       Конференции, события, встречи разработчиков

Moscow Python Meetup 54

22-го марта мы встречаемся в Rambler&amp;Co; на 54-й встрече MoscowPython

На встрече мы услышим 3 доклада:

 Александр Ковалев (Яндекс). Django-rester, как легкая альтернатива django-rest-framework

При разработке сервисов на django, мы столкнулись с тем, что не пользуемся большей частью пакета django-rest-framework, о чем я упоминал на Moscow Python Conf 2017. В итоге мы сделали свой небольшой пакет для простой реализации REST API в Django проектах.

Никита Соболев (wemake.services, CTO). Начинаем Django приложение правильно

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

Докладчик из Rambler&Co; — TBA

     08.02.2018       Выпуск 216 (05.02.2018 - 11.02.2018)       Статьи

Serverless приложение с реализацией CI/CD на базе AWS и Bitbucket Pipelines

В статье рассказывается о развертывании Django приложения в облаке AWS с помощью Bitbucket Pipelines. Тем, кому интересна эта тема, добро пожаловать под кат.

     26.01.2018       Выпуск 214 (22.01.2018 - 28.01.2018)       Статьи

Telegram бот для сложных квестов

Это было в конце ноября, я понимал что скоро новый год и необходимо дарить подарки.
Идея с Telegram Bot–ом, в качестве карты поиска, казалась крайней простой и в должном исполнении интересной. Единственное что необходимо было сделать – взять и загуглить. Что собственно я и сделал. Основной посыл запроса – платформа для создания квестов, или же просто чат-бот c дополнительной логикой, написанный на python (желательно Django Framework)
Большинство рассмотренных приложений либо имели захордкоженные данные, либо же были своего рода викторинами. Ни то ни другое не подходило.

     16.01.2018       Выпуск 213 (15.01.2018 - 21.01.2018)       Статьи

Django. Расширенные параметры поиска Django

Организация фильтрации/поиска контента с расширенными параметрами в стиле ключ/значение

     08.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Django. Добавление личных сообщений и чатов на сайте - Часть 1 Django

По мере развития ресурса встала задача внедрить личные сообщения на сайте. В статье описано, как получилось сделать альфа-версию сообщений на сайте с базой для будущих коллективных чатов.

     08.01.2018       Выпуск 212 (08.01.2018 - 14.01.2018)       Статьи

Django. Смена URL без перезагрузки страницы с частичной подгрузкой контента Django

Делаем пагинацию статей на сайте с использованием django_bootstrap3, AJAX-запросов и сменой URL без перезагрузки страницы в браузере для уменьшения нагрузки на сайт.

     29.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Оптимизация стадии инициализации Django

Если у вас Django проект работает на синхронных воркерах и вы периодически их перезапускаете (например, в gunicorn это опция --max-requests), полезно было бы знать, что по-умолчанию после каждого перезапуска воркера, первый запрос к нему обрабатывается гораздо дольше, чем последующие.

     26.12.2017       Выпуск 210 (25.12.2017 - 31.12.2017)       Статьи

Где хранить бизнес логику в Django Django

Толстые модели (fat models), тонкие представления (thin views), тупые шаблоны (stupid templates) - один из распространенных подходов к структурированию Django приложений. Цель подхода - вынести бизнес логику из представлений и шаблонов, и поместить ее в модели. Очевидно, что представления и шаблоны не должны содержать бизнес логику, так как они имеют совсем другие обязанности. Но выносить логику в модели не лучший вариант. Это приводит к тому, что модели становятся слишком большими и имеют слишком много обязанностей. Получаются так называемые объекты боги (god objects). Из-за их сложности код сложно понять, тестировать и поддерживать.

     13.12.2017       Выпуск 208 (11.12.2017 - 17.12.2017)       Статьи

Python Meetup 14.11.2017: Python в Порту, Aiohttp и снова тесты

После долгого перерыва, блудная питоновка снова в деле! 14 ноября состаялась очередная встреча минского сообщества Python-разработичков Python Meetup. В этот раз доклады представили:

— Как я нечаянно стал главным по питону в Порту / Роман Иманкулов, Doist
— The test which will save your day / Иван Стяжкин, DataRobot 
— Django и Aiohttp / Юлия Темушева, Wargaming
— Блицдоклад: распространенные ошибки программирования на Python / Юрий Красовский