更改任何模型字段时如何向其他网页发送警报消息
Posted
技术标签:
【中文标题】更改任何模型字段时如何向其他网页发送警报消息【英文标题】:how to send an alert message to other web page when any model field in changed 【发布时间】:2021-06-29 02:50:59 【问题描述】:我的 Django 应用程序中有一个 Offer 模型:
class Offer(models.Model):
Auction_id=models.CharField(max_length=20,verbose_name = "Auction ID",default=number)
Offer_Name=models.CharField(max_length=200,verbose_name = "Auction Name")
Auction_des=models.CharField(max_length=50,verbose_name = "Auction Description")
Bid_Start_Time=models.TimeField(auto_now=False, auto_now_add=False)
Bid_End_Time=models.TimeField(auto_now=False, auto_now_add=False)
我有一个投标网页,显示与报价相关的详细信息。 每次更改报价中的投标结束时间时,我想在投标网页上显示一条警告消息。 通过报价中的初始化和保存方法,我可以检查投标结束时间是否被修改,但我无法在投标网页上显示警报消息。
【问题讨论】:
你基本上想从服务器向客户端发送消息,这可以通过 socket.io 来完成。 您可以为此使用 post_save() 信号。每当模型发生修改时,触发信号发送警报。 @ShivendraPratapKushwaha 你能解释一下我如何从模型保存信号发送警报到投标模板。 simpleisbetterthancomplex.com/tutorial/2016/07/28/… 这可以帮助你。 【参考方案1】:我认为您的问题可以通过使用信号功能来解决。 https://docs.djangoproject.com/en/3.1/topics/signals/#:~:text=Django%20includes%20a%20%E2%80%9Csignal%20dispatcher,some%20action%20has%20taken%20place.&text=Sent%20when%20Django%20starts%20or%20finishes%20an%20HTTP%20request.
【讨论】:
我无法理解如何将警报消息从模型信号发送到投标模板。请帮助。以上是关于更改任何模型字段时如何向其他网页发送警报消息的主要内容,如果未能解决你的问题,请参考以下文章
向 Microsoft 团队发出警报管理器/prometheus 警报
如果 gen_server 进程中的 init/1 函数向自己发送一条消息,它是不是保证在任何其他消息之前到达?
如何在烧瓶中发布请求后使用 websockets 向客户端发送警报