Студопедия — Блог им. daniel_yav → Django
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Блог им. daniel_yav → Django






0 комментариев

Доброго времени суток, друзья! Сегодня я расскажу о очень крутой возможности Django — сигналах. Сперва немного теории. Когда в Django происходит некоторое событие (к примеру, в модель были записаны данные) Django генерирует signal (на самом деле — несколько сигналов. Во время иницилизации, перед записью данных, после записи и т.д.). Эти сигналы можно «ловить» и выполнять любые действия. Давай разберём работу сигналов на примере.

Итак, я установил django-payment-webmoney (мерчант webmoney) для того, чтобы клиенты могли через webmoney пополнять свой баланс. Моя задача — выполнять произвольный код после того, как оплата была подтверждена. Я знаю, что когда оплата выполнения — django-payment-webmoney фиксирует платёж в моделе Payment. Отлично, сигналы к ней мы и будем фиксировать. Нас интересует сигнал post_save, и код в конечном итоге будет выглядеть следующим образом:

from webmoney.models import Payment from django.dispatch import receiver from django.db.models.signals import post_save @receiver(post_save, sender=Payment) def webmoney_payment_accepted (sender, **kwargs): """ Функция создания транзакции при пополнении webmoney """ payment = kwargs['instance'] Transaction.objects.create(balance = payment.invoice.user.balance, transaction_type = 1, cost = payment.amount)

Как видно из примера — мы «ловим» сигнал, определяем в payment созданный объект и добавляем транзакцию в нашу модель (дальше эта транзакция похожим сигналом инкрементирует баланс пльзователя). Вот и всё! Django, спасибо тебе за твою простоту и доходчивость. Конечно же, по этому вопросу есть замечательная документация в официальном руководстве.

 







Дата добавления: 2015-08-12; просмотров: 299. Нарушение авторских прав; Мы поможем в написании вашей работы!



Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

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

Тема 2: Анатомо-топографическое строение полостей зубов верхней и нижней челюстей. Полость зуба — это сложная система разветвлений, имеющая разнообразную конфигурацию...

Виды и жанры театрализованных представлений   Проживание бронируется и оплачивается слушателями самостоятельно...

Педагогическая структура процесса социализации Характеризуя социализацию как педагогический процессе, следует рассмотреть ее основные компоненты: цель, содержание, средства, функции субъекта и объекта...

Типовые ситуационные задачи. Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической   Задача 1. Больной К., 38 лет, шахтер по профессии, во время планового медицинского осмотра предъявил жалобы на появление одышки при значительной физической нагрузке. Из медицинской книжки установлено, что он страдает врожденным пороком сердца....

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

Studopedia.info - Студопедия - 2014-2024 год . (0.028 сек.) русская версия | украинская версия