Advertisement
Guest User

Untitled

a guest
Dec 2nd, 2016
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.52 KB | None | 0 0
  1. Функция получатель
  2. from .management.commands.db_hour import Command, usr_hour
  3. from django.dispatch import receiver
  4. from .models import MySession, Session, Board
  5.  
  6. usr_in_hour = []
  7.  
  8. @receiver(usr_hour, sender=Command)
  9. def my_callback(sender, **kwargs):
  10. usr_in_hour.clear()
  11. boards = Board.objects.all().values('board_shortcut')
  12. for x in boards:
  13. usr_in_hour.append(MySession.objects.filter(name_board__contains=x['board_shortcut']).count())
  14.  
  15. Своя команда и функция отправитель
  16. from django.core.management.base import BaseCommand
  17. from django.utils import timezone
  18. import datetime
  19. from boards.models import MySession, Session
  20. from django.dispatch import Signal
  21.  
  22. usr_hour = Signal(providing_args=[])
  23.  
  24. class Command(BaseCommand):
  25.  
  26. def handle(self, *args, **options):
  27. now = timezone.now()
  28. two_hour = now - datetime.timedelta(hours=2)
  29. MySession.objects.filter(expire_date__range=(two_hour, now)).delete()
  30. Session.objects.filter(expire_date__range=(two_hour, now)).delete()
  31.  
  32. usr_hour.send(sender=self.__class__)
  33.  
  34. self.stdout.write('Succes')
  35. Вьюха
  36. from .signals import usr_in_hour
  37.  
  38. # Create your views here.
  39.  
  40. def index(request):
  41. boards = Board.objects.all()
  42. for board in boards:
  43. board.board_posts = Thread.objects.filter(board=board).count() + Comment.objects.filter(thread__board=board).count()
  44. return render(request ,'index.html', {'boards': boards, 'usr_in_hour': usr_in_hour})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement