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

Django *

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

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

Профили пользователей: плюсы, минусы, подводные камни

Время на прочтение5 мин
Количество просмотров12K
Не секрет, что работу с профилями пользователей в Django иначе как несчастьем не назовёшь. Все мы сталкивались с монолитностью модели auth.User, неадкеватным набором полей у неё, а также всеми теми ухищрениями, к которым приходилось прибегать.

Извращаться приходилось всем: не только пользователям джанги, но и самим её core-разработчикам. Помните, например, как в Django 1.2 внезапно стало возможно использовать в поле username символы собаки (@) и точки? Знаете зачем? Чтобы в качестве логинов можно было использовать адреса e-mail.

Нам, простым пользователям, тоже жилось несладко. Для того, чтобы изменить профиль пользователя, добавив ему какие-нибудь интересных полей — обычная, казалось бы, вещь, да? — приходилось действовать разными способами.
Интересно?

jQuery в администрировании

Время на прочтение3 мин
Количество просмотров3.3K
Перевод публикации jQuery in the admin с DjangoAdvent


Обновления r12297 произвели настоящую сенсацию: в директории django/contrib/admin/media/js появился новый файл под названием jquery.js. В администрировании Django это изменение являет собой начало новой эры, эры модных функций, красивых виджетов и улучшенного юзабилити.
Читать дальше →

Django — обработка ошибок в ajax-формах

Время на прочтение5 мин
Количество просмотров17K
Hello everyone!

Все мы знаем что Django — очень мощный и динамично развивающийся фреймворк для создания веб-приложений. Однако, несмотря на наступление эпохи Веб 2.0, в нём всё ещё нет встроенных механизмов для работы с AJAX, в частности отправки и проверки форм. Возможно django просто не хочет навязывать пользователю какой-то js-фреймворк и хочет оставаться гибкой в этом вопросе, но так или иначе при разработке часто требуются формы, работающие через ajax, без перезагрузок страниц.
О создании таких форм и работе с ними и пойдёт речь в данной статье.

Сразу оговорюсь, что идея не нова, и существует несколько библиотек, реализующих требуемую функциональность, например одна из них — http://www.dajaxproject.com/.
Для тех же, кто предпочитает сам управлять взаимодействием клиента с сервером или тех, кто не хочет втягивать в проект дополнительную библиотеку и иметь дело с её багами, я расскажу как изобрести велосипед реализовать механизм самостоятельно и опишу различные способы решения проблемы.
Читать дальше →

Слежка за пользователями в Django

Время на прочтение2 мин
Количество просмотров8.2K
Здравствуй %username%

Начну с того, что у меня есть некий Django портал, на котором пользователям начисляются определенные бонусы за приглашение новых пользователй. Такая себе системе рефералов. Но бонус начисляется только в том случая, если приглашенный пользователь проявляет активность. Сегодня у меня возникло подозрение, что один из моих юзеров завел виртуалов. Попробуем уличить его в этом…
Читать дальше →

Django проект PR Hero: что внутри и полученный опыт

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

Я хочу продолжить хорошую традицию:
и рассказать об удачных решениях, примененных в Django проекте PR-Hero.

Я призываю всех поступать так же и делиться своим опытом :) Объясню почему. В нашей команде каждое удачное решение или приложение из одного проекта обязательно использовалось в следующем. Проекты развивались и становились все лучше и лучше.

А что, если делиться опытом не внутри отдела, а целым сообществом российских джангистов?

что же внутри?!

Релиз Django 1.3

Время на прочтение1 мин
Количество просмотров784
После многих месяцех кропотливой работы, команда разработчиков Django с гордостью сообщает о релизе версии 1.3 этого замечательного фреймворка.

Финальный список изменений доступен на странице документации. А на хабре недавно публиковалась статья о всех ожидаемых нововведениях: «Что будет в django 1.3»

Скачать фреймворк.

Именованные кортежи из выборок

Время на прочтение5 мин
Количество просмотров11K
В Django для ускорения запросов, возвращающих большое количество данных, существуют методы QuerySetvalues() и values_list(). Первый вместо моделей возвращает словари, второй кортежи. Работать и с теми, и с другими не так удобно как с экземплярами моделей, дескать, платите ребята за скорость удобством. А я вот не хочу, и благодаря именнованым кортежам из стандартного модуля collections, не буду.
Дело за малым...

Что будет в django 1.3

Время на прочтение4 мин
Количество просмотров1.4K
Релиз django 1.3 совсем скоро. Думаю, многие уже RC в продакшне используют. Но все равно, пробегусь еще раз по тому, что нас ждет, стараясь не скатиться в перевод release notes.
Читать дальше →

Наш опыт работы с Django, или 10 полезных модулей, облегчающих жизнь

Время на прочтение4 мин
Количество просмотров38K
Бесценный опыт работы с Django, или Django для блондинок, брюнеток и всех-всех-всехПоследние 15 недель мы активно работали над проектом «Стиллион», первым нашим мейнстрим-проектом, написанным на Django. Был приобретен интересный опыт, которым мы хотели бы поделиться с сообществом.
Статья, прежде всего, будет интересна новичкам в Django.
За катом список полезных плагинов, которые мы использовали, и ещё немного клёвых фич

Отчёт о встрече Apple Developers Community #3

Время на прочтение3 мин
Количество просмотров8.8K
3 марта в Санкт-Петербурге прошла 3-я встреча разработчиков под iPhone/iPad.

image

На основе полученных отзывов с предыдущей встречи тематикой была выбрана всегда актуальная тема GameDev. За несколько часов докладчики рассказали нам про Monotouch, Unity3D и Cocos2d.

О докладах, докладчиках и встрече в целом расскажу под катом.
Читать дальше →

Автоматизируем выкладку django-проектов на сервер

Время на прочтение7 мин
Количество просмотров13K
Настраивать VDS'ки для выкладки django-проектов довольно утомительно бывает, да и легко что-то забыть (т.к. делаешь это не каждый день). Гораздо лучше, когда этот процесс автоматизирован: с меньшими усилиями можно получить правильно настроенный проект и набор команд для работы с ним.

Существую разные подходы к этому процессу: специфичные для питона (fabric, buildout) или неспецифичные (puppet, Chef, наборы shell-скриптов и т.д.).

Подход fabric — локально выполняемый скрипт ходит по ssh на сервер и выполняет там команды. Этот подход довольно прямолинеен и прост в отладке, тем и хорош (обзор на хабре). Из разнообразных команд fabric постепенно вырисовался велосипед под названием django-fab-deploy. Это набор fabric-скриптов, который умеет настраивать серверы под Debian Lenny или Squeeze, а потом с минимальными усилиями разворачивать там django-проекты и управлять этими проектами в дальнейшем.

С выходом Debian Squeeze взялся за django-fab-deploy посерьезнее, поправил некоторые шероховатости и теперь, думаю, самое время об этом проекте рассказать. У проекта есть документация, тут будет краткий пересказ с лирическими отступлениями.

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

Sentry — мониторинг ошибок в Django

Время на прочтение2 мин
Количество просмотров45K
Как Вы мониторите ошибки в своем Django проекте?

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

Таким же вариантом пользовались и мы, пока не открыли для себя Sentry.
image
Читать дальше →

Django 1.3 alpha 1

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

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

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

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

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

Продвинутые формы — мультиселект с автокомплитом

Время на прочтение5 мин
Количество просмотров7.2K
Наши пользователи следят за спецпредложениями авиакомпаний и дешевыми перелетами, каждому интересно своё направление, пунктов вылета и прилета — тысячи, пользователи хотят одновременно следить за несколькоми городами, странами или регионами. Появилась задача — как предоставить удобный механизм подписки? Без долгого тыканья в мульти селект, без кнопок «Добавить пункт вылета». Ответ выглядит так —

Решением стал контрол из Фейсбука и Контакта — пользователи знакомы с ним, а значит не нужно объяснять как он работает. Осталось скрестить его с django.
Читать дальше →

Красивые конфиги Django

Время на прочтение3 мин
Количество просмотров19K
За то время, пока я занимаюсь внедрением проектов, написанных на Django, накопились простые приемы упрощающие деплой. Разберем settings.py, который был использован в одном из последних проектов. Полностью файл доступен на http://gist.github.com/214361
Начнем.

Локальные настройки:

Локальные настройки позволяют иметь разные конфигурации одного проекта на разных машинах. В конце каждого моего файла settings.py есть подключение local_settings.py. Это позволяет переопределить любые значения переменных из settings.py. Например, на продакшн сервере я использую mysql, а на локальной машине — sqllite.
try:
    from local_settings import *
except ImportError:
    pass

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

Релиз Django 1.2.2 — security-обновление

Время на прочтение2 мин
Количество просмотров980
8 сентября 2010 года разработчики Django выпустили релиз 1.2.2 чтобы закрыть уязвимости, позволяющие злоумышленникам устраивать XSS-атаки. По злой иронии, уязвимость к XSS оказалась в коде системы, выполняющем защиту от другого типа атак – CSRF. Система эта принципиально изменилась в версии 1.2 (в предыдущих версиях защита от CSRF не являлась частью ядра фреймворка и была всего лишь подключаемым слоем).
Читать дальше →

Результаты Django Dash 2010

Время на прочтение2 мин
Количество просмотров859
31 августа были подведены итоги международного конкурса по программированию Django Dash.

Целью конкурса было создать веб-приложение за 48 часов в команде из 3 человек. В соревновании принимали участие 51 команда из всех частей света.

1 место Great Big Crane от West meets West


Great Big Crane

Great Big Crane это application server для Django и Python проектов. То есть он ставится на сервер и в пару кликов развертывает вам новое веб-приложение. Развертыванием всех проектов на сервере теперь можно удобно управлять из единого интерфейса.
остальные сервисы

Дедок рекомендует или сравниваем различные способы деплоймента Django-приложений

Время на прочтение3 мин
Количество просмотров9.5K
imageВсе больше наших клиентов используют в своих проектах замечательный web-фреймворк Django и неудивительно. Ведь данный фреймворк позволяет очень быстро создавать динамические сайты и обладает при этом огромной гибкостью. Он имеет в своем арсенале множество готовых решений почти на все случаи жизни, и по-сути, является низкоуровневым конструктором сайтов. А главное его достоинство – это гибкость, благодаря которой, можно в короткие сроки создавать абсолютно любые по сложности веб-приложения.

Данный фреймворк имеет удобный встроенный веб-сервер, на котором можно без проблем отлаживать ваше приложение, но для реального боевого использования он естественно не годится.
Читать дальше →

Aptana IDE 2.0.5 + Django = в картинках

Время на прочтение2 мин
Количество просмотров2.8K
Тут будет немного показано, как создать Django-проект, путем импортирования из существующего.
Создать Git-репозиторий, и основные функции использования репозитория.

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

Можно серию из аналогичных визуальных пособий сделать, что бы легче было войти в курс дела и подолгу не искать, для новичка. Показать, в этой IDE все возможности, которые облегчают жизнь. Или подсказать что-то новенькое тем людям, кто не использует до конца её возможности. Ну или же как правильно использовать возможности этой IDE.

Например, здесь описано как скрестить Eclipse и Redmine.

А здесь — введение в работу с Aptana, её установки и настройки. В некоторых моментах могу повторить, что есть там, и на хабре.

Перед тем, как делать скриншоты были предустановленны PyDev и Git. Наверное всем легко будет разобраться, как это сделать. Тем более, что стартовая страница приветствия Aptana, после установки, сразу предлагает установить новые модули, в числе которых их и можно найти.

Предлагаю всем высказаться, на тему того — как сами её используете, и показать это в картинках.

Осторожно, трафик

Наши на Django Dash

Время на прочтение2 мин
Количество просмотров744
В субботу, 14 августа, в 8:00 по Москве начнётся соревнование DjangoDash, и скромная русская команда e-Legion решила поучаствовать в этом мероприятии. Кстати, в конкурсе участвует и, например, широко известный в узких кругах джангистов Malcolm Tredinnick (да, я тоже не понял почему команда с двумя участниками называется «три слепые мыши»).
Читать дальше →

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