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

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

     01.05.2017       Выпуск 176 (01.05.2017 - 07.05.2017)       Статьи

Поиск в Django REST Framework с помощью Elasticsearch Django Elasticsearch

 

Пользователи ищут товары в интернет-магазине, ищут стати, поиск это неотъемлемый компонент сайта. Быстрый и гибкий поиск сложно реализовать средствами реляционных баз данных. Для таких задач используют поисковые движки, один из которых Elasticsearch. Elasticsearch хорошо документирован и доступен из коробки на AWS.

 

Для работы с elasticsearch используется библиотека elasticsearch-py или elasticsearch-dsl-py. elasticsearch-dsl-py это надстройка над elasticsearch-py, она проста в использовании и поддерживает elasticsearch версии 5.x. На базе этой библиотеки была создана библиотека django-rest-elasticsearch, которая основана на идеологии существующего поиска в Django REST Framework. Ниже я детально распишу как реализовать поиск в Django REST Framework с помощью elasticsearch используя данную библиотеку.

     30.04.2017       Выпуск 175 (24.04.2017 - 30.04.2017)       Статьи

Django - Like Dislike система с помощью GenericForeignKey Django

Статья описывает пример использования GenericForeignKey из инструментария Django/Python для создания системы Like Dislike на сайте с использованием полиморфных связей, что позволяет использовать одну модель данных Like Dislike для контента различного типа: Статьи, Комментарии и т.д.

     12.04.2017       Выпуск 173 (10.04.2017 - 16.04.2017)       Видео

django-sitetree: навигация для сайта

Сложно ли реализовать навигацию для сайта? Разместить на его страницах различного вида меню, навигационные цепочки, предоставить пользователю структурную карту. Давайте ознакомимся с подходом, использующемся в sitetree, который позволяет решать подобные задачи минимальными усилиями.

     12.04.2017       Выпуск 173 (10.04.2017 - 16.04.2017)       Статьи

Нескучные запросы с Django ORM Annotate и Query Expressions Django

Некоторое время назад передо мной встала задача: выбрать из таблицы значения по пользователям. Причём, эти значения должны соответствовать определённому регулярному выражению. Но и это не конец условия: из выбранных выражений нужно вытащить substring. Опять же, по регулярке. Сделал я это довольно быстро, и захотелось поделиться опытом с тем, кто ещё не может применять Annotate и Query Expressions на практике

     06.04.2017       Выпуск 172 (03.04.2017 - 09.04.2017)       Статьи

7 вредных советов проектировщику REST API Django

Адаптация статьи REST WORST PRACTICES, © Jacob Kaplan-Moss. Статья написана применительно к Django, но информация будет актуальна для широкого круга специалистов.

Думаю что лучший способ понять как нужно делать, изучить как делать НЕ нужно. Представляю вашему вниманию вредные советы проектировщикам REST API.

     29.03.2017       Выпуск 171 (27.03.2017 - 02.04.2017)       Статьи

Запускаем простой блог на Wagtail CMS (Django) — часть 3, заключительная Django

Третью часть про Wagtail CMS я решил посветить тем моментам, которые помогли мне снова полюбить Django. Благодаря большому сообществу, которое развивает эту CMS, любой найдет в ней что-то для себя.

В заключительной части будут затронуты следующие моменты:

  • StreamField
  • API + React
  • Разработка для e-commerce

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Видео

Правила именования функций

Илья Лебедев (Devman) @ Python Junior Meetup №1 

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

Слайды: https://speakerdeck.com/moscowdjango/pravila-imienovaniia-funktsii

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Видео

Что такое переменные?

Григорий Петров (Voximplant) @ Python Junior Meetup № 1

"В своем выступлении я впервые попробую объяснить переменные: не рассказывая предварительно как работает компьютер, память и компилятор; не вводя мешок дополнительных сущностей вроде «присваивание», «данные», «оператор» и непереводимое «evaluate»; не проводя аналогии с математикой".

Слайды: https://speakerdeck.com/moscowdjango/chto-takoie-pieriemiennyie

     28.02.2017       Выпуск 167 (27.02.2017 - 05.03.2017)       Видео

Система типов в Python

Александр Хаёров (Ingram Micro) @ Python Junior Meetup №1

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

Слайды: https://speakerdeck.com/moscowdjango/sistiema-tipov-v-python

     28.01.2017       Выпуск 162 (23.01.2017 - 29.01.2017)       Статьи

Создание сайта на DjangoCMS Django DjangoCMS

В России DjangoCMS незаслуженно обделена вниманием, хотя это довольно мощная и функциональная CMS, основанная на фреймворке Django и полностью с ним совместимая. К сожалению материалов по DjangoCMS довольно мало даже на английском языке, а статьи на русском уже устарели, поэтому я решил исправить это недоразумение и поделиться своим опытом работы с данной CMS. Очень надеюсь что статья будет полезна для вас :)

     24.01.2017       Выпуск 162 (23.01.2017 - 29.01.2017)       Видео

Способы хранения иерархических структур данных

Денис Иванов @ MoscowPython 41

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

Слайды: http://www.moscowpython.ru/meetup/41/sposoby-hranenija-ierarhicheskih-struktur-dannyh/

     15.01.2017       Выпуск 160 (09.01.2017 - 15.01.2017)       Статьи

Записи python разработчика — Ловушка при подсчете связанных объектов в Django Django

Задача: для каждого объекта подсчитать количество связанных объектов, удовлетворяющих определенному условию.

     21.12.2016       Выпуск 157 (19.12.2016 - 25.12.2016)       Статьи

Генерация фиктивных данных с Elizabeth

Elizabeth — это библиотека для языка программирования Python, которая помогает генерировать фиктивные данные. Один из простейших примеров использования библиотеки — это заполнение баз данных для приложений на Flask или Django. На данный момент библиотека поддерживает 16 языковых стандартов и 18 классов-провайдеров, предоставляющих разного рода данные.

     25.11.2016       Выпуск 153 (21.11.2016 - 27.11.2016)       Статьи

Автоматическое развёртывание Django из GitLab

В этой статье я опишу настройку автоматического развёртывания веб-приложения на стеке Django + uWSGI + PostgreSQL + Nginx из репозитория на сервисе GitLab.com. Изложенное также применимо к кастомной инсталляции GitLab. Предполагается, что читатель располагает опытом в создании веб-приложений на Django, а так же опытом администрирования Linux-систем.

     24.11.2016       Выпуск 153 (21.11.2016 - 27.11.2016)       Статьи

Релиз PyCharm 2016.3: Полная поддержка Python 3.6, улучшения в Python консоли, обозревателе переменных, и многое другое PyCharm IDE

С момента предыдущего релиза PyCharm прошло ровно 4 месяца. За это время PyCharm получил ряд новых полезных улучшений в инструментах для Python, Django, веб и научной разработки, которые, как всегда, тесно интегрированы и эффективно работают друг с другом. Сегодня мы рады рассказать, что же интересного и важного появилось в новой версии PyCharm.

     04.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Видео

Олег Чуркин (Rambler&Co) - Django: правильно готовим ORM

Доклад с Moscow Python Conf 2016 (http://conf.python.ru)
Слайды: https://conf.python.ru/django-orm/

В докладе будут затронуты большинство тем, которые необходимо знать современному python-разработчику, чтобы эффективно использовать функционал Django-ORM для построения высоконагруженных web-проектов.
Поговорим и про классические ошибки при работе с QuerySet’ами и про профилирование и про code style. Выясним как можно сэкономить память и время при выполнении запросов, покажу популярные ошибки при проектировании схемы данных и при использовании миграций, а так же рассмотрим несколько распространенных задач современного веба, которые в Django еще не решены или решены некорректно.

     03.11.2016       Выпуск 150 (31.10.2016 - 06.11.2016)       Интересные проекты, инструменты, библиотеки

Django-pushall - Push-уведомления в Django

Django-pushall предназначен для отправки Push-уведомлений через систему Pushall как всем пользователям сайта, так и персонально. Можно использовать для отправки уведомлений самому себе в каких-либо скриптах

     27.10.2016       Выпуск 149 (24.10.2016 - 30.10.2016)       Статьи

Стратегии расширения Django User Model Django

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

Как правило возникает потребность хранить дополнительные данные о пользователях, например, краткую биографию (about), дату рождения, местоположение и другие подобные данные.

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

     08.10.2016       Выпуск 146 (03.10.2016 - 09.10.2016)       Видео

Особенности работы backend для мобильных приложений, или Python Django UWSGI в продакшен

Дмитрий Швеенков @ Moscow Python #39

О жизни наших проектов в продакшен.
Как мы используем python-django-uwsgi для backend мобильных приложений.
Что важно в backend для его работы?
Как измерить время о оценить качество работы backend?
Как переносим большие пиковые нагрузки?
Как настраиваем сервера, какие "ручки" крутим в ОС, чтобы все работало.
Немного о профилировании django, memcached в python.

http://www.moscowpython.ru/meetup/39/osobennosti-raboty-backend-dlja-mobilnyh-prilozhen/

     05.10.2016       Выпуск 146 (03.10.2016 - 09.10.2016)       Статьи

Запускаем простой блог на Wagtail CMS (Django) — часть 2

С момента написания первой части про Wagtail CMS уже вышла версия 1.6.3 — самое время продолжить наш путь по созданию простого блога.

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