django通知:AttributeError:&x27;模块';对象没有属性';创建通知类型';
:) 我试图在同一个项目上部署django notification和django avatar,但是,当我运行python2 manage.py syncdb时,我收到以下异常:django通知:AttributeError:&x27;模块';对象没有属性';创建通知类型';,django,django-models,Django,Django Models,:) 我试图在同一个项目上部署django notification和django avatar,但是,当我运行python2 manage.py syncdb时,我收到以下异常: (dispersion)jorge [~/coders/desarrollo/dispersion] ~> python2 manage.py validate python2 manage.py validate 0 errors found (dispersion)jorge [~/coders/desar
(dispersion)jorge [~/coders/desarrollo/dispersion] ~> python2 manage.py validate
python2 manage.py validate
0 errors found
(dispersion)jorge [~/coders/desarrollo/dispersion] ~> python2 manage.py syncdb
python2 manage.py syncdb
Creating tables ...
Creating table django_comments
Creating table django_comment_flags
Creating table threadedcomments_threadedcomment
Creating table threadedcomments_freethreadedcomment
Creating table threadedcomments_testmodel
Creating table notification_noticetype
Creating table notification_noticesetting
Creating table notification_noticequeuebatch
Creating table announcements_announcement
Creating table announcements_dismissal
Traceback (most recent call last):
File "manage.py", line 10, in <module>
execute_from_command_line(sys.argv)
File "/home/jorge/coders/desarrollo/dispersion/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/core/management/__init__.py", line 443, in execute_from_command_line
utility.execute()
File "/home/jorge/coders/desarrollo/dispersion/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/core/management/__init__.py", line 382, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/jorge/coders/desarrollo/dispersion/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/core/management/base.py", line 196, in run_from_argv
self.execute(*args, **options.__dict__)
File "/home/jorge/coders/desarrollo/dispersion/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/core/management/base.py", line 232, in execute
output = self.handle(*args, **options)
File "/home/jorge/coders/desarrollo/dispersion/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/core/management/base.py", line 371, in handle
return self.handle_noargs(**options)
File "/home/jorge/coders/desarrollo/dispersion/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/core/management/commands/syncdb.py", line 110, in handle_noargs
emit_post_sync_signal(created_models, verbosity, interactive, db)
File "/home/jorge/coders/desarrollo/dispersion/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/core/management/sql.py", line 189, in emit_post_sync_signal
interactive=interactive, db=db)
File "/home/jorge/coders/desarrollo/dispersion/lib/python2.7/site-packages/Django-1.4.3-py2.7.egg/django/dispatch/dispatcher.py", line 172, in send
response = receiver(signal=self, sender=sender, **named)
File "/home/jorge/coders/desarrollo/dispersion/lib/python2.7/site-packages/django_avatar-1.0.5-py2.7.egg/avatar/management/__init__.py", line 9, in create_notice_types
notification.create_notice_type("avatar_updated", _("Avatar Updated"), _("avatar have been updated"))
AttributeError: 'module' object has no attribute 'create_notice_type'
(dispersion)jorge [~/coders/desarrollo/dispersion] ~>
(离散)jorge[~/coders/desarrolo/dispersion]~>python2 manage.py验证
python2 manage.py验证
发现0个错误
(分散)豪尔赫[~/coders/desarrolo/dispersion]~>python2 manage.py syncdb
python2 manage.py syncdb
正在创建表。。。
创建表django_注释
创建表django_注释_标志
创建表threadedcomments\u threadedcomments
创建表threadedcomments\u FreeThreadedComments
创建表threadedcomments\u testmodel
创建表通知\u noticetype
创建表通知\u通知设置
创建表通知\u noticequeuebatch
创建表公告\u公告
创建表通知和取消
回溯(最近一次呼叫最后一次):
文件“manage.py”,第10行,在
从命令行(sys.argv)执行命令
文件“/home/jorge/coders/desarrolo/disposition/lib/python2.7/site packages/Django-1.4.3-py2.7.egg/Django/core/management/___init__uu.py”,第443行,从命令行执行
utility.execute()
文件“/home/jorge/coders/desarrollo/disposition/lib/python2.7/site packages/Django-1.4.3-py2.7.egg/Django/core/management/__init___;.py”,执行中第382行
self.fetch_命令(子命令)。从_argv(self.argv)运行_
文件“/home/jorge/coders/desarrolo/disployment/lib/python2.7/site packages/Django-1.4.3-py2.7.egg/Django/core/management/base.py”,第196行,从_argv运行
self.execute(*args,**选项._dict__;
文件“/home/jorge/coders/desarrolo/dispersion/lib/python2.7/site packages/Django-1.4.3-py2.7.egg/Django/core/management/base.py”,第232行,在execute中
输出=self.handle(*args,**选项)
文件“/home/jorge/coders/desarrolo/dispersion/lib/python2.7/site packages/Django-1.4.3-py2.7.egg/Django/core/management/base.py”,第371行,在handle中
返回self.handle\u noargs(**选项)
handle_noargs中的文件“/home/jorge/coders/desarrolo/dispersion/lib/python2.7/site packages/Django-1.4.3-py2.7.egg/Django/core/management/commands/syncdb.py”,第110行
发出后同步信号(创建的模型、冗余、交互、db)
文件“/home/jorge/coders/desarrolo/dispersion/lib/python2.7/site packages/Django-1.4.3-py2.7.egg/Django/core/management/sql.py”,第189行,在发出后同步信号中
交互式=交互式,db=db)
文件“/home/jorge/coders/desarrolo/disposition/lib/python2.7/site packages/Django-1.4.3-py2.7.egg/Django/dispatch/dispatcher.py”,第172行,在send中
响应=接收方(信号=自身,发送方=发送方,**已命名)
文件“/home/jorge/coders/desarrolo/dispersion/lib/python2.7/site packages/django_-avatar-1.0.5-py2.7.egg/avatar/management/__-init__;.py”,第9行,在创建通知类型中
通知。创建通知类型(“头像更新”、“头像更新”)、(“头像已更新”)、(“头像已更新”))
AttributeError:“模块”对象没有属性“创建\u通知\u类型”
(分散)豪尔赫[~/coders/desarrolo/dispersion]~>
奇怪!呵呵?我甚至不知道为什么会发生这种错误。有什么帮助吗?这是因为django notification的最新版本(位于1.0版)已被重构并从models.py中删除了create\u notice\u type 这很麻烦,因为当前版本的django avatar和django postman依赖于create_notice_type 为了解决这个问题,我必须通过以下方式安装django通知的早期版本:
pip install django-notification==0.2
对,创建通知类型已被删除。 只需创建NoticeType的一个实例,如下所示:
# static block:
try:
notification = get_app( 'notification' )
except ImproperlyConfigured:
notification = None
..
# in your method:
if notification is not None and "notification" in settings.INSTALLED_APPS:
from django.utils.translation import ugettext_noop as _
message = {
'user': settings.DEFAULT_FROM_EMAIL,
'comment': 'no comment',
'type': 'welcome',
'descr': 'my description',
# ..
}
try:
notification.send([to_user], "welcome", message)
except NoticeType.DoesNotExist:
NoticeType.create("welcome", _("Bla Bla"), _("How nice of you to visit our site"))
notification.send([to_user], "welcome", message)