【问题标题】:How to get a return response from signals in Django如何从 Django 中的信号中获取返回响应
【发布时间】:2015-03-01 17:08:38
【问题描述】:

我正在使用 post_init 和 post_save 信号来监视单个表列,然后在 CMS 中更改监视的列时更新其他表。这很好用,但 CMS 中的响应仍然是“1 blah 已成功更改”。

相反,我需要显示在信号中更新的项目的真实数量。我不知所措——在任何地方都找不到这个,我什至不知道在哪里看。关于正确技术的建议,或指向我错过的文档的指针?

【问题讨论】:

标签: django


【解决方案1】:

很抱歉在这个问题完成多年后回答这个问题,但我搜索了很多解决方案(没有成功)来做到这一点,最后我找到了一种我想分享的方法。 不是更好的方法,但它有效:

在信号接收函数和视图之间共享数据:

    # your signal receiver function
    @receiver(request_started)
    def request_started_receiver(sender, **kwargs):
        kwargs['environ']['CUSTOM_DATA_TO_VIEW'] = 'My Custom Data'

    # your view
    def index(request):
        custom_data = request.META.get('CUSTOM_DATA_TO_VIEW')

【讨论】:

    猜你喜欢
    • 2020-07-07
    • 2021-05-02
    • 2019-09-29
    • 1970-01-01
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 2020-04-06
    • 1970-01-01
    相关资源
    最近更新 更多