Обновить
9.35

Django *

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

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

Установка 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 мин
Количество просмотров53K

Начало


Однажды мне пришлось заняться разработкой 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го октября ее одобрили. Радости, конечно же было много и пришла пора готовиться к докладу.
Читать дальше →

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

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

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

PYCON RUSSIA-2015: видео и презентации докладов

Время на прочтение4 мин
Количество просмотров16K
18-19 сентября в Екатеринбурге прошла третья международная конференция python-разработчиков PyCon Russia. 21 доклад, два мастер-класса, Lightning Talks — все это PyCon-2015. Под катом — отчет о прошедшей конференции, много видео и презентации докладов.

0_1217f0_23d019c7_orig.jpg
Питонисты собрались из 25 городов, среди которых: Сан-Франциско, Париж, Прага, Бонн, Таллин, Минск, Киев, Москва, Санкт-Петербург, Казань, Уфа

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

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

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

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

Об этом и поговорим.
Читать дальше →

Moscow Python Meetup в Rambler&Co

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


8-го октября (четверг) в Rambler&Co мы ждем в гости Moscow Python Meetup. 1-я встреча нового сезона начнется в 19.00. На встрече нас ждут 3 доклада.

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

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

PYCON RUSSIA 2015: финальная программа

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

18-19 сентября в Екатеринбурге пройдет одно из самых ярких событий python-сообщества — конференция PYCON RUSSIA. 21 доклад от ведущих python-разработчиков из США, Франции, Германии, Чехии, Украины и России, два мастер-класса, Lightning Talks — и это только в официальной части. У вас есть еще неделя, чтобы посмотреть на программу этого года, купить билет и приехать в Екатеринбург. Все подробности ниже.

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

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

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

Всем привет

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

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

Программа конференции PYCON RUSSIA 2015

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

5.png

Осталось три недели до третьей международной конференции python-разработчиков Pycon Russia 2015, которая пройдет в Екатеринбурге 18-19 сентября.

Мы доделываем итоговую сетку и обговариваем детали последних докладов, но 90% программы готово.

Итак, что вас ждет в этом году.

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

Третий PyCon Russia пройдёт в Екатеринбурге 18-19 сентября

Время на прочтение3 мин
Количество просмотров5.7K
18-19 сентября питонисты из России и ближнего зарубежья соберутся в Екатеринбурге на конференцию PyCon Russia. Под катом: как это было в прошлом году, что мы планируем на этот и что сделать, чтобы стать докладчиком.

IMG_9071.jpg
Участники PyCon-2015
Читать дальше →

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

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


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

Moscow Django Meetup №27: как это было

Время на прочтение2 мин
Количество просмотров5.9K
Приветствую, коллеги! Несколько недель назад состоялся 27-й Moscow Django Meetup, а всего через три дня, в эту среду, состоится 28-й. В этом топике я расскажу что интересного было на предыдущем митапе и что будет на следующем. Участие — бесплатное, площадка Фрии City Hall в центре Москвы ждет вас!

Слайды, видео и позитив под катом

Moscow Python Meetup на тему «Async: why and when?» в офисе Rambler&Co

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


Друзья, спешу сообщить, что 28 мая в 19:00 в офисе компании Rambler&Co пройдет встреча сообщества Moscow Python Meetup. Тема встречи — «Async: why and when?».

В программе интересные доклады, общение, холивары и море позитива.
Читать дальше →

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