2012-08-15 74 views
0

我使用的django-notificationdjango-messages项目组合在一起,并采取内置于Django的消息,其违约通知类型收到短信时的Django的通知整合的优势,回复等在syncdb中,django-messages是如何创建通知类型的?

然而,我无法确定如何创建这些默认的NoticeType对象。 Django通知文档建议在management.py文件中使用post_syncdb信号,这是我为自己的自定义通知所做的。我无法在这些通知类型定义的任何代码中找到任何地方。然而,每当我在新数据库上运行syncdb时,它们都会奇迹般地出现。

正在由Django的消息的应用程序所创建的通知类型的 “标记” 属性如下:

  • messages_received
  • messages_sent
  • messages_replied
  • messages_reply_received
  • messages_deleted
  • messages_recovered

回答

0

django_messages/management.py:

from django.db.models import get_models, signals 
from django.conf import settings 
from django.utils.translation import ugettext_noop as _ 

if "notification" in settings.INSTALLED_APPS: 
    from notification import models as notification 

    def create_notice_types(app, created_models, verbosity, **kwargs): 
     notification.create_notice_type("messages_received", _("Message Received"), _("you have received a message"), default=2) 
     notification.create_notice_type("messages_sent", _("Message Sent"), _("you have sent a message"), default=1) 
     notification.create_notice_type("messages_replied", _("Message Replied"), _("you have replied to a message"), default=1) 
     notification.create_notice_type("messages_reply_received", _("Reply Received"), _("you have received a reply to a message"), default=2) 
     notification.create_notice_type("messages_deleted", _("Message Deleted"), _("you have deleted a message"), default=1) 
     notification.create_notice_type("messages_recovered", _("Message Recovered"), _("you have undeleted a message"), default=1) 

    signals.post_syncdb.connect(create_notice_types, sender=notification) 
else: 
    print "Skipping creation of NoticeTypes as notification app not found" 

https://github.com/arneb/django-messages/blob/master/django_messages/management.py

类型在这里定义和钩在post_syncdb信号。

+0

嗯,我现在觉得很愚蠢。我一直在Eclipse/PyDev中查看这个,它隐藏了.pyc文件。出于某种原因,management.py不存在,但management.pyc是。这正是我所寻找的,但只是不够努力......:( – gravelpot 2012-08-15 19:56:36

+3

现在已经很晚了,赶上一杯啤酒吧! – 2012-08-15 19:58:15