Django中的自定义信号
我在使用Django的自定义信号时遇到了问题,信号在不同的应用之间无法互相识别。我在我的
core/signals.py
from django.dispatch.dispatcher import Signal
# Signal-emitting code... emits whenever a file upload is received
# ----------------------------------------------------------------
upload_recieved = Signal(providing_args=['data'])
def upload_received_handler(sender, data, **kwargs):
print 'upload received handler'
print 'connecting signal'
upload_recieved.connect(upload_received_handler)
文件中做了一个简单的调用。
在
core/models.py
import signals
[the model]
和
blog/admin.py
from models import article, category, media
from django.contrib import admin
from libs.shared.core.tasks import Create_Audit_Record
from libs.shared.core import signals
class ArticleModelAdmin(admin.ModelAdmin):
def save_model(self, request, obj, form, change):
upload_recieved.send(sender=self, data='ddd')
instance = form.save()
return instance
admin.site.register(article, ArticleModelAdmin)
admin.site.register(category)
admin.site.register(media)
中也是如此。可是我在运行时遇到了错误,无法找到upload_received这个函数。有没有什么想法?
祝好,
1 个回答
7
你还没有在你的admin.py文件里导入upload_recieved
这个名字。