我有一個不確定的問題。 在我的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