Все потоки
Поиск
Написать публикацию
Обновить
2.27

Django *

Фреймворк для веб-приложений на Python

Сначала показывать
Порог рейтинга
Уровень сложности

Предварительная программа PyCon Russia готова. Выступят докладчики из США, Англии, Франции, Чехии, Украины и России

Время на прочтение6 мин
Количество просмотров4K
Привет!

3-4 июля недалеко от Москвы пройдет четвертая конференция для python-разработчиков PyCon Russia. Почему мы переехали из Екатеринбурга, мы объясняем здесь. Прошлогодние доклады и фотографии можно посмотреть в архиве.

Программа PyCon-2016 получается отличной — Raymond Hettinger (Python core developer с 2001 года, автор и мэйнтейнер многих частей языка, США), Martin Gorner (Google, Франция), Nathaniel Manista (Google, США), Armin Ronacher (Flask framework, Австрия), David MacIver (Hypothesis, Великобритания), Jackie Kazil (Capital One, США), Александр Кошкин (Positive Technologies, США), Александр Сибиряков (Scrapinghub, Чехия), Андрей Светлов (DataRobot, Украина), докладчики из HeadHunter, Rambler&Co, Яндекса, Toptal — и это еще не все. Подробности программы — под катом.


Читать дальше →

django-pkgconf

Время на прочтение3 мин
Количество просмотров4.4K

rick-and-morty
Rick and Morty ©. Чувак презентует батарейку, я тоже.


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


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

Читать дальше →

Тестовое задание. Проверка вхождения точки в произвольный полигон

Время на прочтение5 мин
Количество просмотров36K


Вводная


Сразу оговорюсь кому может быть интересна данная публикация. Это начинающие Django + JQuery программисты, интересующиеся векторной графикой в браузере с использованием canvas. Или просто люди, получившие подобное задание.
Итак, находясь в постоянном сканировании рынка труда своего региона, наткнулся на весьма интересную вакансию web-разработчика в достаточно известной местной компании. В описании вакансии было сказано, что нужен python+django разработчик. После отправки резюме получил тестовое задание которое гласило:
Читать дальше →

Разработка на Django под Windows с помощью Docker-machine

Время на прочтение2 мин
Количество просмотров14K


В этой статье я расскажу как я решил проблему настройки окружения для разработки на Django под Windows.
Используется следующая связка:
1) Docker-machine
2) PyCharm
В Docker-machine:
1) PostgreSQL
2) Data container для PostgreSQL
3) Redis
4) И собственно само приложение на Django.

Читать дальше →

О поиске видео замолвите слово

Время на прочтение8 мин
Количество просмотров7.2K

Сегодня в этот погожий весенний денек хочется написать не только о поиске видео, но и о технической
реализации работы со Sphinxsearch в нагруженном Django-проекте.


Поиск


Начать стоит, наверно, с постановки бизнес-задачи:


  • Необходимо искать релевантные видео по названию, описанию и другим текстовым данным
  • К каждому видео надо искать похожие видео
  • Надо чтобы нужные ролики показывались в выдаче нужных запросов на нужных местах.

А еще нефункциональные требования:


  • Django-проект с дофига просмотрами и постоянными обновлениями описаний видео
  • Инкапсуляция работы с поисковым движком в библиотеке и совместимость с остальными библиотеками на сайте (в первую очередь, Django REST Framework)

Про то, как в Rutube используется sphinxsearch и будет данный рассказ.

Читать дальше →

Развертывание стека Django на Ubuntu в облаке Microsoft Azure

Время на прочтение5 мин
Количество просмотров6.9K
Вы уже знаете, что мы запустили новый проект, посвященный проектам с открытым исходным кодом — linuxloves.ms. Подробности про проект вы можете найти в нашей публикации на Хабре, которая уже вызвала ожесточенный флейм :-).


Разработчики, которые создают решения в стеке Django могут легко размещать свои решения в облачной платформе Microsoft Azure. Проще всего это сделать с помощью виртуальных машин.

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

Рассмотрим, как любой пользователь Azure может развернуть стек Django за несколько минут.
Читать дальше →

PyCon Russia переезжает в Москву

Время на прочтение3 мин
Количество просмотров7.5K
Всем привет!
Три года наша команда проводила PyCon Russia в Екатеринбурге, а в этом году мы готовы начать путешествие по городам России.

matreshka.jpg
Читать дальше →

Разработка сервиса по загрузке альбомов

Время на прочтение4 мин
Количество просмотров12K


Введение


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

И вот в преддверии дня рождения, появилось время и отличное настроение для написания сервиса.
Читать дальше →

Что есть в Visual Studio 2015 для разработчика на Python

Время на прочтение2 мин
Количество просмотров21K


Всем привет!

С версией Visual Studio 2015 Community компания Microsoft впервые предложила разработчикам совершенно бесплатно пользоваться полнофункциональной версией своего мощного инструмента для разработки. Напомню, что функционал Visual Studio 2015 Community почти полностью предоставляет функционал версии Professional, но имеет некоторые лицензионные ограничения по использованию в коммерческой разработке.

Visual Studio 2015 Community так же, как и остальные версии инструмента, расширяема, благодаря Visual Studio Marketplace и всем официальным обновлениям инструмента. То есть огромное, постоянно увеличивающееся количество функционала доступно разработчикам совершенно бесплатно. Это касается и инструментов для разработки на языке Python.

Поддержка Python станет доступна, если отметить соответствующий пункт при установке среды. Это касается и CPython, PyPy, IronPython, поддержки IntelliSense, интерактивной отладки, интеграции и других возможностей Visual Studio для Python:
Читать дальше →

django-controlcenter

Время на прочтение13 мин
Количество просмотров21K
django-controlcenter

Всем привет, хочу поделиться своей небольшой разработкой — django-controlcenter. Это приложение для создания дешбоардов для вашего django-проекта.
Читать дальше →

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

Время на прочтение4 мин
Количество просмотров12K

Преамбула


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

Постановка задачи


При старте веб-приложения на Django (как посредством запуска отладочного сервера, так и в качестве WSGI-приложения) фреймворк первым делом выполняет модуль, задающий начальные настройки проекта. Источник кода задаётся переменной окружения DJANGO_SETTINGS_MODULE. При создании Django-проекта стандартным способом, например:
$ django-admin startproject myproject
создаётся и модуль настроек. Это файл ‘myproject/myproject/settings.py’. Изменяя и дополняя его, программист настраивает проект, добавляет в него собственные и сторонние компоненты и т. д.

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

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

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

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

Ремарка: благодарю Филиппа Торчинского за предоставление продакт-версии PyCharm для создания проекта на Django.

Что у нас есть


Мы имеем готовый проект на Django в среде разработки PyCharm для локального компьютера. Т.е. settings.py имеет базу данных sqlite3, битые пути к статите и пустой ALLOWED_HOSTS. Это нормально.
Читать дальше →

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

Время на прочтение5 мин
Количество просмотров9.5K
Люк Плант (Luke Plant) — программист-фрилансер с многолетним стажем, один из ключевых разработчиков Django.

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

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

Ближайшие события

Django Single Sign-On и Microsoft Active Directory

Время на прочтение13 мин
Количество просмотров52K

Начало


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

На предприятии широко используется служба каталогов на базе Microsoft Active Directory, и к настоящему моменту практически все корпоративные приложения позволяют использовать windows-авторизацию и не вводить постоянно логины/пароли, поэтому новое приложение просто должно было удовлетворять существующему положению вещей и реализовывать указанную выше возможность для «прозрачной» авторизации пользователей.

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

Итак мы имеем:
Читать дальше →

Cайт на Django-nonrel на платформе Google App Engine для Python

Время на прочтение3 мин
Количество просмотров8.9K
В этой статье я хочу немного рассказать о разработке своего проекта — сайта egaxegax.appspot.com.

Поскольку являюсь большим поклонником языка Python, свой сайт я решил создать на популярном фреймворке Django. Чтобы использовать его на бесплатном хостинге appspot.com, адаптировал код для использования NoSQL версии Django и платформы Google App Engine (GAE).

Читать дальше →

Синхронный код в асинхронном Twisted, или сказ о том, как скрестить ежа с ужом

Время на прочтение3 мин
Количество просмотров11K
Всё хорошо

Twisted — асинхронный (событийно-ориентированный) фреймворк, написанный на Python. Мощное средство для быстрой разработки сетевых (и не только) сервисов. Он разработан с использованием паттерна проектирования Reactor. Сервисы созданные с использованием Twisted быстры и надежны, фреймворк позволяет не писать макаронный код, насыщенный непонятными коллбэками, имеет внутри себя красивые хелперы (Deferred, Transport, Protocol etc). Другими словами, делает нашу жизнь бекенд разработчиков лучше.

Но есть и проблемы

Основная проблема в том, что многочисленные, надежные, оттестированные, удобные библиотеки, использующие в своей основе синхронные модули Python (socket, os, ssl, time, select, thread, subprocess, sys, signal etc), просто возьмут и заблокируют нам основной процесс, цикл реактора и наступит беда. Такими библиотеками, к примеру, являются psycopg2, request, mysql и другие. В частности, psycopg2 используется в Django ORM как один из бекендов баз данных.

Что же делать?

Есть три пути. Сложный, приемлемый и хороший. Сложный — реализовать аналог библиотеки на Twisted. Приемлемый — использовать deferToThread и запускать синхронный код в отдельных потоках (используя пул потоков реализованный в Twisted). О хорошем пути (по моему мнению) и пойдет речь в заметке.
Скрестить ежа с ужом
Читать дальше →

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

Время на прочтение10 мин
Количество просмотров76K
Добрый день, коллеги.

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

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

Релиз Django 1.9

Время на прочтение1 мин
Количество просмотров13K
После 10 с половиной месяцев труда разработчики наконец-то выпустили релизную версию Django 1.9.

По ссылке вы можете ознакомиться со всеми изменениями во всех подробностях, но из самого вкусного можно сразу отметить:


Читать дальше →

Нам нужны не столь мощные языки программирования

Время на прочтение16 мин
Количество просмотров32K


Сегодня многие системы и языки программирования позиционируются как «мощные». Нельзя сказать, что это плохо. Почти каждый из нас считает это положительным свойством. Но в этом посте я хочу донести такую точку зрения, что во многих случаях нам нужны менее мощные языки программирования и системы. Но прежде чем продолжить, уточню: здесь будет мало оригинальных, моих собственных размышлений. Я буду излагать ход мыслей, возникший по прочтении книги Дугласа Хофштадтера «Гёдель, Эшер, Бах», которая помогла мне собрать воедино разрозненные идеи и мысли, бродившие в голове. Также большое влияние на нижеизложенный материал оказали пост Филипа Вадлера и видеозапись с конференции Scala. Ключевая мысль такова:

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

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

HighLoad++ 2015 глазами иностранного докладчика

Время на прочтение3 мин
Количество просмотров8.1K
Всем привет!

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

Заявку подавал я 19 января этого года, а 5го октября ее одобрили. Радости, конечно же было много и пришла пора готовиться к докладу.
Читать дальше →

Вклад авторов