其他分享
首页 > 其他分享> > 从django-admin命令发送django信号?

从django-admin命令发送django信号?

作者:互联网

我有一个异常的问题.
在我的django应用程序中,我使用信号来发送电子邮件.
除了从django-admin命令django.core.management.base.NoArgsCommand(通过manage.py运行)发出的信号之外,所有信号均有效.

我在其他地方检查了我的信号,除了这个地方,它仍然有效.

这是我发送信号的代码:

from django.core.management.base import NoArgsCommand

class Command(NoArgsCommand):
    help = "Send email advertisement expiration reminder to users"

    def handle_noargs(self, **options):
        from app.models import Advertisement, User
        from app.signals import ad_expires
        from datetime import datetime
        start=datetime(datetime.now().year, datetime.now().month, datetime.now().day+4,0,0)
        end=datetime(datetime.now().year,datetime.now().month,datetime.now().day+4,23,59)
        ads=Advertisement.objects.filter(visible_till__gte=start).filter(visible_till__lte=end)
        for ad in ads:
            ad_expires.send(self,ad=ad, user=ad.user)
        print "Expiration reminders sent to %s users" % len(ads)

难道我做错了什么?

另外,有没有一种更简便的方法可以在一天之内检查日期?

谢谢你的任何建议

解决方法:

快捷方式是:

start = datetime.now() + timedelta(days=4)
end = start + timedelta(days=1)
ads=Advertisement.objects.filter(visible_till__gte=start).filter(visible_till__lt=end)

您可以在这里发布您的项目结构吗?您的代码对我来说看起来不错.

标签:django-signals,django-manage-py,python,django
来源: https://codeday.me/bug/20191208/2093054.html