python - django 中的自定义信号

标签 python django

我遇到了 Django 自定义信号无法跨应用程序查看信号的问题。我在我的

中打了一个简单的电话

核心/信号.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)

在核心/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 函数。有什么想法吗?

问候,

最佳答案

您还没有将 upload_recieved 名称导入到您的 admin.py 中。

关于python - django 中的自定义信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4722255/

相关文章:

python - 使用 microsoft azure 机器学习运行 python 脚本

Python C-API 使 len(...) 与扩展类一起工作

python - 如何打开位于 'This PC' 的 windows 资源管理器?

python - BeautifulSoup 开始标签格式错误?

Python - 为什么使用 uuid4() 以外的任何东西来获取唯一字符串?

django - AttributeError: 'ElasticSearch'对象没有属性 'bulk_index'“

python - Django 测试中 TestCase 和 TransactionTestCase 类的区别

python - Django Formsets - form.is_valid() 为 False 阻止表单集验证

python - Django,Pinax,无法提取文件

django - 是否可以在 Apache 而不是开发服务器上运行 Django 测试?