from datetime import datetime from dateutil.relativedelta import relativedelta from django.db import models from django.contrib.auth import get_user_model from django.contrib.auth.models import AbstractUser from django.core.signals import Signal user_registrated = Signal(providing_args=['instance']) def user_registrated_dispatcher(**kwargs): send_activation_notification(kwargs['instance']) user_registrated.connect(user_registrated_dispatcher) reset_password = Signal(providing_args=['instance']) def reset_password_dispatcher(**kwargs): send_request_reset_password(kwargs['instance']) reset_password.connect(reset_password_dispatcher) pay_subscription = Signal(providing_args=['card', 'settings']) def pay_subscription_dispatcher(**kwargs): continue_subscription(card=kwargs['card'], settings=kwargs['settings'])
@receiver([post_save, post_delete], sender=Article, dispatch_uid=2) def invalidate_by_Article_boats_app(sender, instance, **kwargs): try: cache_key = "boat_detail_view" + str(instance.foreignkey_to_boat_id) cache.delete(cache_key) except AttributeError: pass @receiver(post_revision_commit, sender=Version) def invalidate_by_Version(sender, instance, **kwargs): cache_key = "boat_detail_view" + instance.object_id cache.delete(cache_key) #--------------------------------------------------------------------------------------------------- user_registrated = Signal(providing_args=["instance"]) """Сигнал user_registrated #573 431 437""" def user_registrated_dispatcher(sender, **kwargs): send_activation_notofication(kwargs["instance"]) user_registrated.connect(user_registrated_dispatcher)
from django.shortcuts import render from django.views import View from django.http.response import HttpResponse from django.core.signals import request_finished from django.dispatch import receiver from django.core.signals import Signal mysignal = Signal(providing_args=['info']) class IndexView(View): def get(self, request): mysignal.send(sender=self.__class__, info="index_view") return HttpResponse("This is home page to show signal's demo ") def index(request): return HttpResponse("This is home page to show signal's demo ") def handler_request_finish(sender, **kwargs): print("the home page is visited ") mysignal.connect(receiver=handler_request_finish)