Как стать автором
Обновить
15.78

Django *

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

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

Соревнование Django Dash 2009

Время на прочтение1 мин
Количество просмотров663
django dash Django Dash — соревнование для разработчиков на Джанге. Вам дается только 48 часов на разработку вебприложения! Отличный повод попробовать себя в скоростной разработке.

Правила


  • Заготовки запрещены
  • 48 часов
  • Максимум 3 человека в комманде
  • Можно использовать чужой код (не более 50 % от общего)
  • Система управления версиями (Subversion) хостится у организаторов

Расписание 2009 г, победители 2008г и призы

Рестарт демона mod_wsgi

Время на прочтение1 мин
Количество просмотров2K
Долго откладывал разобраться, так и релоадил апач целиком :)

@never_cache
def restart(request):
    ''' Перезапуск демона '''
    if request.META['mod_wsgi.process_group'] != '':
        import signal, os
        os.kill(os.getpid(), signal.SIGINT)
        ret = 'restarted'
    else:
        ret = 'not find porcess_group'
        
    return HttpResponse(ret, mimetype='text/plain')


UP: touch yourfile.wsgi

Используем память разумно. Часть 2. fapws3

Время на прочтение4 мин
Количество просмотров2.4K
В предыдущей части мы начали бороться за память на 256 мегабайтном слайсе «на скорую руку». Результат был, но не столь эффектный как тот которого я добился на этот раз.

Я всегда догадывался, что причина всех моих неприятностей — apache. И чем больше я пытался его настраивать, тем больше в этом убеждался. Вывод? Попробовать заменить. Одно но — переход должен быть как можно более плавным, поскольку речь, ясно дело, о продакшене.

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

Используем память разумно, или mod_wsgi на 256 мегабайтах

Время на прочтение2 мин
Количество просмотров3.2K
Какое-то время назад потребовалось перенести проекты с выделенного сервера на VPS. Для этих целей был выбран slicehost. В общем и целом контора нравится и готов её рекомендовать всем.

Случилась лишь одна проблема: начали приходить уведомления о слишком сильном использовании диска (чтение/запись). Долгое время проблема не находила решения из-за отсутствия времени, но это вылилось в непонятные отказы, сопровождавшиеся статистикой в >200% CPU usage. После долгих извращений, была найдена проблема, а затем и её решение.
Читать дальше →

Истории

Отладка в Django

Время на прочтение4 мин
Количество просмотров29K
Новичкам в Django будет полезно узнать об очень полезном инструменте отладки — debug-toolbar. Он настолько крут, что его называют Firebug for Django. На больших проектах без него (или другого отладчика) не обойтись.
Посмотрите, как это работает.

Веб-интерфейс для Адресной книги в ldap, написан на Django

Время на прочтение1 мин
Количество просмотров4.5K
Готовые решения по редактированию контактов в ldap я не нашел. И Решил написать свой веб-интерфейс ldap адресной книги, получилось простое django приложение, как раз такое, чтоб секретарь не запутался))
Читать дальше →

Использование шаблонов Cheetah совместно с Django

Время на прочтение3 мин
Количество просмотров4.2K
Однажды появилась необходимость выбрать шаблонизатор для использования с Django. На одном встроенном решении останавливаться я не хотел, а провел небольшое исследование производительности и удобства использования разных продуктов.

На данный момент я выбрал Cheetah. Вот почему:
Читать дальше →

South — новый клёвый syncdb

Время на прочтение3 мин
Количество просмотров26K
Я совсем недавно начал работать с Django и меня практически сразу же взбесила ущербная команда syncdb, которая ничего толком не синхронизирует, умеет лишь создавать таблицы для новых моделей.

А добавление или удаление полей в уже существующие модели превращается в настоящий pain in ass — приходится «подсматривать» за тем, как ORM создала бы таблицы заново (manage.py sqlall) и вручную делать ALTER TABLE для изменившихся столбцов таблиц.

То есть, ORM в Django так или иначе предполагает активный трах с SQL shell, потому что в процессе прототипирования эти поля в моделях изменяются просто пачками.

Погуглив, я нашел несколько способов...

Динамическое создание форм на основе данных из базы в Django

Время на прочтение3 мин
Количество просмотров10K
Началось всё с того что надо было часто создавать однотипные формы и сохранять введённые данные в базу. По суте форма всегда одна и та же — «Заявка на регистрацию» — но в зависимости от мероприятия поля в ней разные.

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

Русские имена приложений в Django

Время на прочтение2 мин
Количество просмотров2.6K
Сия заметка, плод трудов хабра-человека sevenov, ему и почёт, дабы в будущем ему хватило кармы оставить свой след на хабре самому ;)

~~~~

Сегодня возник вопрос о том, как сделать вот так:

Django App Names

После получасового гугления наткнулся на несколько тикетов на code.djangoproject.com (ссылок сейчас не подкину, в истории искать лень). В общем, суть их в том, что нужно переписать чуть ли не половину Django. Немного подумав, я реализовал по своему. Возможно это кто-то уже делал, но на решение я не наткнулся.
Читать дальше →

Видимо django-оттепель началась

Время на прочтение1 мин
Количество просмотров1.8K
Неплохая а совсем даже хорошая новость для отечественных джангистов.
В рассылке джанги это я упомянул, стоит выложить для всех и на Хабр, поскольку у нас тема django-хостингов актуальна.
Недавно по различным вопросам переписывался с суппортом хостинга РУ-центра (hosting.nic.ru) и узнал, что на тарифах 201, 301 уже установлен django, текущая установленная версия 0.96
Пока никаких анонсов данного факта не производилось, так что вы получаете свеженькую инфу :)

Радует, что наступила оттепель среди провайдеров по отношению к Джанге.
Надеюсь, что почин Ру-Центра станет хорошим примером для других и за год мы получим хороший выбор хостингов, тарифных планов от наших отечественных хостеров.

Предлагаю выкладывать в блог для общественности подобные факты о «скрытой» поддержке джанги, с тем чтобы можно было ориентироваться.

Инструкция по развёртыванию полноценной среды для совместной удалённой разработки с Django в Windows. Для абсолютных новичков.

Время на прочтение3 мин
Количество просмотров93K
Статья не претендует на универсальность, но статья — есть работоспособная инструкция по развёртке среды «с нуля» до этапа «пишем первую строчку кода». В комментариях принимаются советы и рекоммендации по улучшению инструкции.
Далее инструкция

Фильтр для типографики

Время на прочтение2 мин
Количество просмотров1.4K
Недавно Игорь Кононученко выложил версию типографа, написанного на Питоне. Игорю большое человеческое спасибо. А я скромно решил сделать из библиотеки типографический фильтр для django. Не то, чтобы это сложно — но новичкам, вроде меня, может пригодиться. Что, собственно, получилось.
Читать дальше →

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

2 – 18 декабря
Yandex DataLens Festival 2024
МоскваОнлайн
11 – 13 декабря
Международная конференция по AI/ML «AI Journey»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань

django-inline

Время на прочтение1 мин
Количество просмотров1.2K
Навеяно советом Артёма Горбунова.

Что позволяет делать:
— простым движением добавлять на страницу in-place или in-line редактирование переменных

Вот, впринципе, и всё.

http://code.google.com/p/django-inline/
Читать дальше →

Django 1.0 alpha

Время на прочтение1 мин
Количество просмотров709
Только-только, всего четыре дня назад, долгожданная ветка newforms-admin была добавлена в trunk (что, похоже, сделало неактуальными соответствующую главу в The Django Book), не успели мы ещё все наши проекты адаптировать к NFA, как… ещё одна новость.

Из того факта, что NFA теперь в trunk-е, следует, что больше у нас объёмного кода, использовавшего oldforms, нет (за исключением разве что django.contrib.comments); а значит, newforms, как давно планировалось, можно переименовывать просто в forms,… и выпускать альфа-версию долгожданного релиза 1.0!

5-го августа ждём первую бету, 19-го августа — первый RC, а 2-го сентября — релиз.

Тесты, а нужны ли?

Время на прочтение1 мин
Количество просмотров1.1K
Да нужны. Замечу, что речь идёт об автоматизированных тестах. Эта штука просто жизненно необходима для особо функционального (базового, низкоуровнего) кода, каковой содержит сам framework Django. Но почему бы не применить тесты для сайтов? И это не просто «по приколу», а некая защита от головняка.


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


Итак, Django предоставляет возможность писать тесты для приложений и это всё облегчает.


В большинстве сайтов, ничего не может обрушиться просто так, это скорее всего связано с обратно несовместимыми изменениями в Django, либо влиянием таких изменений на сторонние приложения (django-voting e.t.c.). Написав простейший тест, который проверит, а возвращает ли страница корректный код (т.е. 200) мы при первом же запуске всех тестов определим неработающие страницы, а соответственно и проблемный код.


Итак, в конце всего этого короткий код (за остальным, обратитесь к документации):

from django.test import TestCase

class LentaTest(TestCase):
    def test_index(self):
        response = self.client.get('/lenta/')
        self.failUnlessEqual(response.status_code, 200)


Код помещаем в appname/tests.py, а чтобы запустить тесты, делаем manage.py test appname

Разные варианты отображения для одних и тех же данных

Время на прочтение2 мин
Количество просмотров1.5K
Опыт «забавностей» становится всё больше и больше. Вот очередной случай маразма. Коротко суть:
Существует сайт, на котором нужно выводить одни и те же объекты с разными условиями выборки (по категории, по тегу, «захабареные» и т.п.) и разными отображениями (список, подробно и т.п.).

Некоторые индивиды, создают в каждом view замысловатую структуру из if-ов, и каждый раз она повторяется. Запомните:
  1. Рефакторинг
  2. Рефакторинг
  3. Рефакторинг
  4. view — это просто функция!

И так, по последнему пункту.
Читать дальше →

Google App Engine: шаблоны и статика (css, js, картинки)

Время на прочтение2 мин
Количество просмотров3.3K
В предыдущем посте было рассказано, как создать простейший проект на GAE + Django. Сейчас давайте попробуем подключить к проекту шаблоны Django и поддержку статических файлов — таблиц стилей, скриптов и картинок.

Наш Django проект будет называтся dvk, и содержать приложение main. В папке приложения создаем каталог для шаблонов templates:
dvk/
main.py
app.yaml
    dvk/
    manage.py
    settings.py
    urls.py
      main/
      __init__.py
      models.py
      views.py
        templates/


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

Конфигурация. dev vs production

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

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

Некоторые вставляют кучу if-ов или ещё чего по хуже, опираясь на ip (ужос) или имя машины, но это всё крайне неудобно и захламляет конфигурацию. Для меня это очень сильный довод к неучастию в проекте, т.к. это говорит о качестве всего кода.
Читать дальше →

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

Работа