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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python

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

     07.10.2015       Выпуск 94 (05.10.2015 - 11.10.2015)       Колонка автора

Пишем web-проекты: полиморфные связи или Foreign Key на две Django модели

Представим ситуацию. Есть модель Текст (заголовок, тело, теги) и модели Новость, Продукт, Реклама, которые имеют свои уникальные параметры. Необходимо связать Текст и все остальные - вполне логичное желание.

Как можно поступить:

  • Добавить Foreign Key в Текст (т.е. будет N=3 Foreign Key полей)
  • Сделать отдельные модели для связи - будет 3 таблицы для связки. (вручную их сделаем)
  • Сделать 2 поля, одно из которых будет говорить, какая модель имеется в виду, а второе – хранить ключ этой модели. + добавить свойство, которое будет возвращать запись из нужной модели (делать нужный query запрос)

...

     07.10.2015       Выпуск 94 (05.10.2015 - 11.10.2015)       Статьи

Функциональные тесты: Django + Selenium WebDriver и 3 варианта на Ваш выбор

«В жизни каждого django-разработчика наступает момент, когда он решительно рвет со своим прошлым, лишенным функционального тестирования!» Об этом и поговорим. 

     30.09.2015       Выпуск 93 (28.09.2015 - 04.10.2015)       Статьи

Пробуем JSON в Django и PostgreSQL (и сравниваем с MongoDB)

В Django 1.9 будет добавлено поле JSONField, его можно использовать с базой данных PostgreSQL >= 9.4. Давайте попробуем с ним поработать и оценить, насколько оно удобно.

В данный момент доступна альфа версия django 1.9, финальная запланирована на декабрь 2015. Установить альфа версию можно так:

pip install --pre django

Итак представим, что у нас есть интернет магазин, в котором мы предлагаем товары разных типов. Например, ноутбуки и футболки. Очевидно, что у таких товаров будет разный набор параметров: у футболок будет размер, цвет, а у ноутбуков - размер экрана, частота процессора, объем жесткого диска и прочее. Один из подходов для работы с такими данными в SQL - Entity–attribute–value model (EAV).

     16.09.2015       Выпуск 91 (14.09.2015 - 20.09.2015)       Колонка автора

Пишем web-проекты: Django Admin Actions

Интерфейс администратора Django достается разработчику "даром". Добавляешь немного строк кода и появляется UI где можно изменять объекты моделей. По умолчаниюю нам предоставляют GRUD возможности.
Но что если нам надо...[Продолжение]

     05.09.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Новости

Django 1.9 получит новый дизайн админки

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

     02.09.2015       Выпуск 89 (31.08.2015 - 06.09.2015)       Колонка автора

Полезные инструменты: django-debug-toolbar

Разработка программ сопряжена с сложностями. Произвольно или нет лезут различные баги. Для поиска ошибок применяют различные инструменты, например дебаг. Дебаг бывает кустарным - print'ами, а есть более каноничный подход - дебаггерами....[Продолжение]

     09.08.2015       Выпуск 85 (03.08.2015 - 09.08.2015)       Статьи

Vagrant, Python, Pycharm = (удобная, работа, Windows)

Django — широко известный и один из наиболее развитых фреймворков для веб-разработки. Django написан на Python и, следовательно, для работы с ним потребуется установленный интерпретатор Python. Это не представляет никаких проблем, если мы работаем в среде Linux. Однако события принимают совсем другой оборот, если приходится заниматься разработкой на Python под Windows.

     29.07.2015       Выпуск 84 (27.07.2015 - 02.08.2015)       Статьи

Django ORM. Добавим сахарку

Фреймворк Django, пожалуй, самый популярный для языка Python. Однако, при всей его популярности, часто критикуют его ORM — а именно lookup синтаксис через подчеркивания. На самом деле, такой выбор синтаксиса вполне обоснован — он легок в понимании, расширяем, а главное — прост, как швабра. Тем не менее, хочется красоты, или даже прямо изящества. Но красота — понятие относительное, поэтому будем отталкиваться из конкретных задач.

     18.07.2015       Выпуск 82 (13.07.2015 - 19.07.2015)       Статьи

OAuth и django rest framework

Автор рассказывает о том как непросто оказалось решить тривиальную, на первый взгляд, задачу - добавить вход через социальные сети по протоколу OAuth

     15.05.2015       Выпуск 77 (12.05.2015 - 17.05.2015)       Релизы

PyCharm 4.5

Из нововедений отмечают:
Новый инструмент для работы с manage.py
Поддержка Django 1.8
Рефакторинг Bulk move (групповое перемещение)
Рефакторинги для конвертации Python-модуля в пакет и наоборот
Значительно улучшенная поддержка IPython Notebook с новой IPython Notebook консолью
Временные Python-файлы (Scratch Files)
Начальная поддержка Python 3.5
Режим редактора Distraction-free mode, позволяющий ни на что не отвлекаться
И многое другое

     13.05.2015       Выпуск 77 (12.05.2015 - 17.05.2015)       Статьи

Почему я не люблю конфигурацию в django-style

Автор библиотеки aiohttp делится своим мнением по поводу правильности и неправильности организации конфигов в приложении

     04.05.2015       Выпуск 75 (27.04.2015 - 03.05.2015)       Статьи

Django-jenkins и COVERAGE_EXCLUDES_FOLDERS

Автор потратил некоторое время на поиск правильного способа прописать каталоги исключенные из coverage отчета для jenkins и делится готовым рецептом