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

Django *

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

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

Плавный перезапуск FastCGI-процессов — django_graceful

Время на прочтение3 мин
Количество просмотров3.3K
Из всех способов деплоинга django-проектов мой любимый — FastCGI. Он поддерживается большинством веб-серверов, позволяет внятно разграничить права доступа и имеет массу других преимуществ.

Однако в django его реализация не лишена недостатков. Чтобы запустить FastCGI-сервер нужно выполнить «./manage.py runfcgi» с немаленьким количеством параметров, которые если и можно запомнить, то точно не захочется писать каждый раз руками. А если это происходит в контексте обновления кода проекта на боевом сервере, то команд становится ещё больше. Приходится писать различные wrapper-ы для запуска и перезапуска, которые засоряют проект.
Читать дальше →

YTupload ver. 0.1 (Конвертируем и загружаем на YouTube)

Время на прочтение1 мин
Количество просмотров1.3K
Доброго времени суток!

Продолжаю тему «Конвертируем и загружаем на YouTube». Благодаря ценным комментариям хабралюдей, проект YTupload не был заброшен и забыт, а выложен на GitHub и усовершенствован.

Краткая аннотация


YTupload — проект, задача которого, конвертировать и загружать ролики на Ваш аккаунт в youtube. Написан на django.
Читать дальше →

Еще одна реализация поля «город» для Django

Время на прочтение5 мин
Количество просмотров7.5K
«Еще одна» — потому что мне кажется, что я что-то упускаю и, в действительности, есть хорошее, но неизвестное мне решение “из коробки”. Тем не менее, вот мой рецепт:

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

Многоязычные модели Django для начинающих

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

Вводная


Работаю я, как и все адекватные программисты, над социальным порталом который покорит всех от грудничков до маразматиков. И так как цели наполеоновские — нужно учесть возможность использования сервиса даже теми представителями человечества, которые не владеют великим и могучим. Знаю, что многие долго боролись с вопросом локализации именно контента (перевод отдельных полей модели на разные языки), т.к. локализация интерфейса, в пределах общепринятых, в Django решена. Суть проблемы в том, чтобы одна и та же модель (это важно! к примеру пункты единого для всех языков каталога) имела переводы своих полей на разные языки. Те кто давно «на игле» этого фреймворка уже наверняка нашли для себя наиболее подходящую методу решения этой проблемы, я же хочу предложить способ решения и набросать порядок действий для начинающих, чтобы они не сбежали по рельсам на рубиновые копи.
Читать дальше →

Опубликованы результаты django dash 2011

Время на прочтение1 мин
Количество просмотров940
Первое место досталось команде Loosers из России.

Они представили приложение djangolint.
Mike Yumatov, Dima Kukushkin, Natascha Yumatova — примите поздравления.

Второе досталось команде Dumbwaiter Dumbwaiter с их приложением Proposalmatic.

Третье поделили Whitescape с Staste и Jupo Systems с их проектом Drawn By.

Рисуем графики (диаграммы) в Django

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

Многие веб-разработчики время от времени сталкиваются с необходимостью визуализировать сравнительно большое количество данных при помощи диаграмм (далее я буду называть их графиками, хоть это и не совсем верно). Задача не нова, и в сети есть множество готовых решений: работающие на стороне сервера и на стороне клиента, использующие изображения, Canvas, SVG, Flash, Silverlight…

В этой статье я расскажу про django-google-charts и некоторые особенности использования Google Chart Tools для построения графиков на сайте под управлением Django.

Часто, когда нужно добавить график на страницу, разработчик идет по пути наименьшего сопротивления: копирует JavaScript из примера в интернете и как-нибудь выводит в него данные из приложения. Получается что-то наподобие:

var chart_data = [
    {% for row in chart_data %}
    [{{ row.0 }}, {{ row.1 }}],
    {% endfor %}
];

Почему это плохо?

Сервис подбора имён и названий от идеи до реализации или Django как отличная платформа для стартапов. Продолжение

Время на прочтение2 мин
Количество просмотров1.9K
В предыдущей статье я писал с чего начинался стартап namingservice.org. В этом топике я продолжу описывать следующий этап материализации идеи. После того как документ «Видение проекта» был готов, я подумал что было бы здорово перенести на бумагу виды сайта, т. е. то как он должен выглядеть, и как я себе его представлял.

Виды


Всё началось с вида домашней страницы. Она должна была давать краткое представление о проекте, и содержать шапку страницы (логотип, слоган, навигация, кнопки логина и регистрации), плюс я решил что будет полезным отображать на главной странице непосредственно заказы с кратким описанием и ценой.

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

Полная русификация админки

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

Здравствуйте. На днях возникла задача русифицировать админку django включая названия моделей, полей и приложений. Основной целью было избежать модифицирования кода django. Продолжительное гугление не дало целостной картины этого процесса. Поэтому я решил собрать все в одном месте.
Сразу скажу, что еще в самом начале проекта поставил django-admin-tools и тем самым сохранил себе некоторое количество нервных клеток. А все манипуляции проводились над django 1.3.
Интерисующихся прошу под кат

django-php: PHP в шаблонах Django

Время на прочтение1 мин
Количество просмотров11K
django-phpВ этом посте я расскажу, как подружить Django и PHP с помощью приложения django-php.

Нам понадобится бинарник php-cgi, установленный в системе. Проверить его наличие можно, введя в терминале

$ which php-cgi

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

Шаблоны проектов на основе PasteScript

Время на прочтение3 мин
Количество просмотров1.6K
С увеличением количества проектов встала проблема автоматизации создания каркаса под новые приложения. До недавнего времени новые проекты мы создавали путем копирования заготовленного шаблонного проекта и изменения различных настроек в разных местах проекта. Само собой это убивало достаточно много времени.

Попытки решить эту проблему вывели меня на проект под названием Python Paste. В общих чертах — это набор утилит для создания веб-приложений, к примеру можно создать свой фреймворк (в Pylons используют именно его). Помимо утилит для веба Python Paste содержит модуль Paste Script, с помощью которого можно создавать шаблоны-заготовки и на основе них генерировать проекты.
Читать дальше →

Конкурс на дизайн RedsolutionCMS

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

Прошлой осенью мы писали про разработанную нами RedsolutionCMS основанную на Django и выпущенную под лицензией GNU GPL v.3. Сегодня мы объявляем конкурс на лучший шаблон для сайта, развернутого с помощью Redsolution CMS. От участников требуется всего лишь css файлы и изобажения для .html файлов (архив можно скачать на сайте). Все присланные работы должны иметь лицензию CC-BY и не должны включать в себя материалы, противоречащие ей. Количество работ от одного автора не ограничено.
Основная цель данного конкурса — развитие проекта RedsolutionCMS и улучшение внешнего вида сайта, развернутого с его помощью.
Читать дальше →

Конвертируем и загружаем на YouTube

Время на прочтение8 мин
Количество просмотров3.3K
Доброго времени суток!

Итак начнём. В статье я опишу краткий проект на django, который конвертирует/загружает видео-ролики на Ваш канал YouTube.
Подробнее под катом

Асинхронные задания в Django c помощью Celery

Время на прочтение5 мин
Количество просмотров66K
Приветствую!
Думаю, большинство разработчиков Django слышали о Celery — системе асинхронного выполнения заданий, а многие даже активно её используют.

Около года назад на хабре была довольная хорошая статья, рассказывающая о том, как использовать Celery. Однако, как было упомянуто в заключении, уже вышла Сelery 2.0 (на данный момент стабильной версией является 2.2.7), где интеграция с django была вынесена в отдельный пакет, а также произошли другие изменения.

Данная статья будет полезна прежде всего новичкам, которые начинают работать с Django, и им требутся что-то, способное выполнять асинхронные и/или периодические задания в системе (например очистку устаревших сессий). Я покажу как установить и настроить Сelery для работы с Django от начала до конца, а также расскажу про некоторые другие полезные настройки и подводные камни.
Итак, приступим.

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

Redsolution CMS: инструкция по добавлению своего модуля

Время на прочтение3 мин
Количество просмотров2.2K
Прошлой осенью мы писали про нашу разработку — RedsolutionCMS. Разработка с неправильным названием, потому что на деле никаким контентом она не управляет. По своей сути RedsolutionCMS — это система развертывания и начальной настройки веб-проектов на Django. В этой статье я постараюсь показать наглядно все плюсы нашей эм… RedsolutionCMS :)
Раз у нас система модульная, то и допишем к ней ещё один модуль. Примером будет django-photologue — модуль публикации фотогалерей на сайт. Под катом — туториал как написать и опубликовать установщик вашего любимого (это не обязательно должен быть photologue) модуля.

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

Разработка IFrame приложения для ВКонтакта

Время на прочтение9 мин
Количество просмотров18K
Несмотря на то, что данная социалка «горячо любима» аудиторией хабра, я всё же решил рискнуть и опубликовать небольшие заметки посвящённые разработке приложений на Джанге под неё.

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

Под катом:
  • django-vkontakte-iframe и vkontakte
  • Загрузка приложения на стену
  • Флеш-заглушка
  • Сессия в горячо любимом IE
  • Все «flashVars» передаются GET запросом
  • Работа во фрейме
  • Доступ к информации пользователя
  • Проверка валидности вёрстки
  • JSLint ваш друг и товарищ
  • Генерирование миниатюр
  • Модерация через прокси-модель
  • Импорт настроек
  • Оптимизация

На правах рекламы: Приложение называется «Коллекционер» и предназначено для людей занимающихся коллекционированием монет, марок, карт и других предметов. В данный момент наполнен лишь каталог карт MTG, но в будущем будут созданы и наполнены каталоги для других предметов. Разумеется, мы с радостью выслушаем все ваши предложения и конструктивную критику.
Читать дальше →

Ускорение тестирования Django-проектов

Время на прочтение6 мин
Количество просмотров5.1K
Вопросу тестирования Django-приложений уделено много внимания в различных статьях, в том числе и на Хабре. Почти в каждой из них хотя бы пара предложений посвящена способам и хакам для ускорения прохождения тестов, и поэтому сказать что-то принципиально новое здесь непросто.

В проекте панели управления хостингом, разработкой которой я занимаюсь значительную часть времени своей работы в NetAngels, насчитывается 120 таблиц и при тестировании загружается порядка 500 объектов из fixtures. Нельзя сказать, что это пугающе много, однако создание всех таблиц, добавление индексов и загрузка объектов при каждом запуске теста довольно сильно напрягают, особенно, если запускается всего один или пара тестов.

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

Тестирование проектов Django

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

Краткое содержание поста:
  1. тестирование веб-сайтов — это сложно и непонятно
  2. юнит-тесты в django
  3. тестовая БД и как с ней бороться
  4. smoke testing
  5. покрытие кода (code coverage)
Читать дальше →

10 причин, почему мы перешли на PyCharm

Время на прочтение3 мин
Количество просмотров88K
Совсем недавно мы начали плавный перевод разработки наших проектов с Eclipse + PyDev на PyCharm. Это такая замечательная среда разработки от компании JetBrains, которая специализируется на создании продуктов для программистов, в том числе всяких IDE.

Если вы делаете сайты на Джанго, но еще не оценили в полной мере Пайчарм, мы подготовили небольшой список фич, которые определили наш выбор в его пользу. В основном, это конечно же, функционал, которого нам не хватало в Эклипсе, либо фичи, которые были реализованы неполно или менее удобно. Само собой, это лишь вершина айсберга фич, которые есть в PyCharm, для примера таблица сравнения популярных IDE.

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

Ограничиваем интерфейс редактирования с помощью прокси-моделей

Время на прочтение2 мин
Количество просмотров9.7K
Административный интерфейс джанго позволяет настраивать права доступа к объектам различных приложений. Для любой модели любого приложения вы можете разрешить пользователю три действия: добавлять новые объекты, редактировать и удалять существующие объекты.

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

Настройка сервера для django-проектов с нуля

Время на прочтение6 мин
Количество просмотров41K
Хочу поделиться опытом настройки сервера для django-проектов. Так вышло, что мне часто приходится настраивать с нуля VPS-сервера для запуска на них django-сайтов. Как-то мне в голову пришла идея записать пошагово процесс настройки. Оказалось, что “по бумажке” выполнять эти рутинные операции гораздо проще и быстрее — все нюансы записаны, трудно что-то упустить. Дальше больше — я превратил инструкцию в самостоятельный shell-скрипт — запустил и сервер готов. Я думаю, некоторым python-разработчикам, особенно начинающим, будет полезно ознакомиться с содержимым скрипта. С некоторыми доработками вы, возможно, захотите использовать его в своей практике.
Читать дальше →

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