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

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

     06.04.2016       Выпуск 120 (04.04.2016 - 10.04.2016)       Учебные материалы

Как написать Telegram бота: практическое руководство Django Telegram bot API

Пишем Telegram бота через простейшее веб-приложение на Django.

     24.03.2016       Выпуск 118 (21.03.2016 - 27.03.2016)       Колонка автора

Пишем web-проекты: система "лайков" для Django на примере PythonDigest.ru

Python дайджест - это крупный русскоязычный агрегатор Python новостей с кучей ссылок. Больше 10 тысяч ссылок уже собрали. Но в таком море контента тяжело ориентироваться и постоянно в голове вопрос "Как показать пользователю только релевантную информацию?".

     28.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Статьи

Как я переизобрел словари в Python

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

     25.02.2016       Выпуск 114 (22.02.2016 - 28.02.2016)       Статьи

Собственный модуль settings

Этот модуль родился в результате переосмысления (или недопонимания) мной вот этого пространного документа: Splitting up the settings file, размещённого на официальном сайте Django.

     21.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Статьи

Установка Django-проекта на VPS (centOS 7) [Для новичков]

Хочу поделиться практическим опытом по установке готового проекта на Django на VPS от Reg.ru. Данное руководство рассчитано на новичков, оно содержит ряд не самых лучших решений, но с ним вы сможете запустить своей проект на Django в течение часа.

Инструкция не содержит настроек безопасности. Она была создана на базе англоязычных инструкций и боли, много боли (ссылки в конце статьи). Инструкция актуальна для настроек: centOS 7, Django 1.9.2 и Python 3.4.3

     18.02.2016       Выпуск 113 (15.02.2016 - 21.02.2016)       Конференции, события, встречи разработчиков

Доклад: JSON-RPC или когда REST неудобен

Доклад: JSON-RPC или когда REST неудобен

Докладчик: Александр Кацко

Описание:

Как только речь заходит про создание API, особенно для веб или мобильных приложений, то многие, не задумываясь, выбирают принцип REST. Но всегда ли это правильный выбор? В докладе рассмотрим случаи, для которых хорошо подходит JSON-RPC, посмотрим примеры реализации на Django.

     13.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Статьи

Мой подход к Class Based Views

Когда-то я писал о своей неприязни к Class Based Views (CBV) в Django. Их использование заметно усложняет код и увеличивает его объём, при этом CBV мешают применять некоторые достаточно распространённые шаблоны (скажем, когда две формы представлены в одном view). И судя по всему, я не единственный из разработчиков Django, придерживающийся такой точки зрения.

Но в этом посте я хочу рассказать об ином подходе, который я применил в одном из проектов. Этот подход можно охарактеризовать одной фразой: «Создавайте свой собственный базовый класс». 

     12.01.2016       Выпуск 108 (11.01.2016 - 17.01.2016)       Статьи

Django Single Sign-On и Microsoft Active Directory

Однажды мне пришлось заняться разработкой Web-приложения для корпоративного использования на Python+Django. И самым первым вопросом, который пришлось решать — это прозрачная авторизация на сайте или Single Sign-On (SSO).

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

     03.01.2016       Выпуск 106 (28.12.2015 - 03.01.2016)       Колонка автора

Полезные библиотеки: где брать модули для django?

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

От этого множество авторов пишут статьи с названиями "Мой топ 10 django-модулей", мы не исключение и будем такие писать.

     16.12.2015       Выпуск 104 (14.12.2015 - 20.12.2015)       Видео

Основы REST API и OAuth2

В ходе этого выступления мы создадим веб-приложение на Django, при помощи которого продемонстрируем всем желающим, как может быть реализован согласованный с принципами REST программный интерфейс к нему, а также узнаем для чего нужны подобные интерфейсы. Помимо принципов REST, будет затронута тема ограничения доступа к веб-ресурсам при помощи OAuth2 (с примерами использования приложения django-oauthost).

     10.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Статьи

Поднимаем сложный проект на Django с использованием Docker

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

Исходные данные у нас такие: начинается разработка проекта, в которой планируется «тонкий бэкенд». Т.е. бэк у нас состоит из закешированных страниц (рендерятся любым шаблонизатором), объёмных моделей с сопутствующей логикой (ORM) и REST API, выполняющего роль контроллера. Фактически, View в такой системе редуцировано и вынесено в JS, благо есть разные реакты, ангуляры и прочие вещи, которые позволяют фронтендщикам считать себя «белыми людьми».

     07.12.2015       Выпуск 103 (07.12.2015 - 13.12.2015)       Статьи

Django: Как быстро получить ненужные дубликаты в простом QuerySet

Только что обнаружил интересный баг (баг с точки зрения человеческой логики, но не машины), и решил им поделиться с сообществом. Программирую на django уже довольно долго, но с таким поведением столкнулся впервые, так что, думаю, кому-нибудь да пригодится. Что ж, к делу!

     03.12.2015       Выпуск 102 (30.11.2015 - 06.12.2015)       Колонка автора

Пишем web-проекты: django сигналы

Хочется поделиться ссылкой на статью - https://zxmd.wordpress.com/2013/05/23/django_signals/

Что такое сигнал в Django Framework ?

На бытовом уровне это система (диспетчер сигналов) которая обрабатывает некоторые виды событий которые генерирует система. По сути система сигналов разделяется на два компонента:

sender — компонент посылающий сигнал;

receiver — компонент отвечающий за обработку сигнала. ...

     03.12.2015       Выпуск 102 (30.11.2015 - 06.12.2015)       Видео

Пишем web-проекты: Гексагональная архитектура в приложениях Django

Видео со свежего Moscow Python митапа. Как не превратить свой проект в груду урлов? Как не потерять расширяемость с ростом кодовой базы? Как писать поддерживаемый код? Об этих проблемах и их возможных решениях на примере Django расскажет и покажет Малышев Артем.

     26.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Колонка автора

Пишем web-проекты: jinja2 - шаблонизатор

Jinja — это шаблонизатор для языка программирования Python. Он подобен шаблонизатору Django, но предоставляет Python-ические выражения, обеспечивая исполнение шаблонов в песочнице. Это текстовый язык шаблонов и, таким образом, может быть использован для создания какой-либо разметки, а также исходного кода. Шаблонизатор Jinja позволяет настраивать теги, фильтры, тесты и глобальные переменные. Также, в отличие от шаблонизатора Django, Jinja позволяет конструктору шаблонов вызывать функции с аргументами на объектах.

     26.11.2015       Выпуск 101 (23.11.2015 - 29.11.2015)       Колонка автора

Пишем web-проекты: django-braces - набор миксин на все случаи жизни

При разработке сколько-либо сложного django-проекта необходимо из раза в раз писать одинаковые куски кода - разграничивать доступ к контенту.

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

В случае с уровнем доступа, с авторизацией и прочими типовыми задачами есть набор готовых миксин - django-braces.
Django-braces позволяет в пару copy-paste сделать авторизацию, регистрацию пользователя, вернуть ответ view'хи в виде JSON, работать с SSL- эти и многие другие куски кода можно взять в этом модуле.

     10.11.2015       Выпуск 99 (09.11.2015 - 15.11.2015)       Учебные материалы

Django: практика создания Web-сайтов на Python

Вышла этой осенью новенькая книга "Django: практика создания Web-сайтов на Python" - Дронов Владимир

     01.11.2015       Выпуск 97 (26.10.2015 - 01.11.2015)       Релизы

django-sitemessage 0.7.0 — Отправляем сообщения Telegram из Django

Вслед за torrt рассылать телеграммы научилось и django-sitemessage.

     22.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Статьи

Celery: лучшие практики

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

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

     21.10.2015       Выпуск 96 (19.10.2015 - 25.10.2015)       Колонка автора

Учебные материалы: познаем Django

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