我有一个不确定的问题。 在我的django应用程序中,我使用信号发送电子邮件。 除django-admin命令--django.core.management.base.NoArgsCommand(通过manage.py运行)之外的所有信号都可以工作。从django-admin命令发送django信号?
我检查了我的信号在不同的地方,它的工作原理除了这个地方。
下面的代码,我发送了信号:
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)
我做错什么了吗?
此外,有没有更简单的方法来检查日期在一天内?
感谢您的任何意见
我曾尝试将打印语句放在注册信号的位置,并将信号连接到处理函数。它在任何地方工作,所以它不是注册信号的问题...... – stuudent 2011-03-06 19:50:24