Главная | Архив новостей | Общение | Площадка | Примеры OpenID
Хостинг Django от «Джино»
Возрождение...
2010-08-05 10:21:29

Начались работы по возрождению сайта. Планируем взлететь к 1 сентября.


Планы
2010-03-06 22:15:07

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

Исходники перевода будут выложены в формате DocBook XML в Git. Патчи с исправлениями и, может быть, переводами оставшихся глав будут приниматься, проверяться и выкладываться на сайт. Думаю, это поможет всем желающим поучаствовать в данном проекте.


Выложена шестая глава
2009-11-12 19:52:46

Несмотря на страшную загруженность была завершена работа по проверке перевода шестой главы, который был предоставлен Дмитрием aka Alerion. Огромное ему спасибо за проделанную работу.


Седьмая глава переведена
2009-09-03 12:05:29

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

P.S. Скоро обещают прислать перевод шестой главы...


Пятая глава переведена
2009-08-26 21:45:40

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



Ошибка 500: Уведомление на jabber

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

Такое поведение возможно только при выключенном режиме отладки.

Существует возможность установить свой обработчик на ошибку 500, описав переменную handler500 в корневом urls.py. Таким образом, мы можем легко создать простое представление, которое отправляет уведомление об ошибке на наш jabber.

Первым делом понадобится установить xmpppy и dnspython:

$ easy_install xmpppy
$ easy_install dnspython

Совет: Если такие пакеты есть в вашем дистрибутиве, лучше воспользуйтесь ими.

Добавьте в settings.py параметры для работы с jabber:

JABBER_ERROR_NOTIFICATION = True
JABBER_ID = 'your_jabberid@jabberdomain.com'
JABBER_PASSWORD = 'your_jabber_password'
JABBER_RECIPIENT = 'recipient@jabberdomain.com'
JABBER_ERROR_TEXT = 'An error occurred in "Project Name", ' + \
                    'please check your email.'

Код обработчика реализуем в виде отдельного приложения. Создадим приложение errors и не забудем добавить его в список приложений (параметр INSTALLED_APPS в settings.py):

python manage.py startapp errors

Добавим переменную handler500 с указанием представления в корневой urls.py:

handler500 = 'errors.views.server_error_jabber'

И наконец создадим представление в errors.view, которое отправляет уведомление нам в jabber и возвращает стандартную страницу с ошибкой 500:

from django.views.defaults import server_error
from django.conf import settings
import xmpp, time

def server_error_jabber(request, template_name='500.html'):
   if settings.JABBER_ERROR_NOTIFICATION:
      jid = xmpp.protocol.JID(settings.JABBER_ID)
      cl = xmpp.Client(jid.getDomain(), debug=[])
      conn = cl.connect()
      if conn:
          auth = cl.auth(jid.getNode(), settings.JABBER_PASSWORD,
                         resource=jid.getResource())
          if auth:
              id = cl.send(xmpp.protocol.Message(settings.JABBER_RECIPIENT,
                                                 settings.JABBER_ERROR_TEXT))
              # Некоторые старые сервера не отправляют сообщения,
              # если вы немедленно отсоединяетесь после отправки
              time.sleep(1)
    return server_error(request, template_name)

Совет: Не забудьте отключить режим отладки, иначе никаких уведомлений вы не дождётесь :)


Увидели ошибку?
Выделите её мышкой и нажмите
Ctrl-Enter
Обработано:
1182 49 130 71

Версия книги
1.0 2.0
Версия 2.0 в процессе перевода!

Мой луч
Многообразие света

Полезное
Актуальные вакансии, Python работа для python-разработчиков.


Скачать в формате
CHM от 2 сентября

Заказать PDF файл можно через почту, чат, джаббер. Всего 2WMZ. Содержимое точно соответствует содержимому сайта.
Чем чаще заказываете — тем больше перевожу.

Русская группа

на поддержку перевода
Яндекс Яндекс.Деньги Хочу такую же кнопку
Ускорить процесс перевода!
R130494980980
Z425285133788
E112528079659
U327380922061

Книга помогла реализовать:
Проект «Мой луч»
АРМ УФМС.


Мой вебсайт стоит666 337,31 руб

© 2008-2009 Ruslan Popov @ gmail.com Powered by Django 1.1 beta 1 SVN-11114
Главная | Архив новостей | Общение | Площадка | Примеры OpenID