为什么我不能使用Django信号重新加载HTML页面

为什么我不能使用Django信号重新加载HTML页面,django,django-templates,signals,Django,Django Templates,Signals,我想在保存数据库中的特定表时重新加载或刷新HTML页面(块内容)。我的第一个想法是使用Django信号(post-save()方法)。此触发器将触发视图或呈现html模板。但我读到这是不可能的和/或这不是最佳实践 为什么不可能使用Django信号实现此目的,最佳做法是什么?除了避免AJAX请求,您还知道其他方法吗 非常感谢您的回答。之所以不可能,是因为Django信号只是一个钩子,在触发信号时运行一个函数。这不会改变您的网页仍在使用HTTP的事实,HTTP是无状态的。这意味着一旦您的页面被服务器

我想在保存数据库中的特定表时重新加载或刷新HTML页面(块内容)。我的第一个想法是使用Django信号(post-save()方法)。此触发器将触发视图或呈现html模板。但我读到这是不可能的和/或这不是最佳实践

为什么不可能使用Django信号实现此目的,最佳做法是什么?除了避免AJAX请求,您还知道其他方法吗


非常感谢您的回答。

之所以不可能,是因为Django信号只是一个钩子,在触发信号时运行一个函数。这不会改变您的网页仍在使用HTTP的事实,HTTP是无状态的。这意味着一旦您的页面被服务器呈现,然后发送到您的客户端(Chrome、IE等),连接就基本上关闭了

为了保持一个开放的频道,您可以使用称为WebSockets的东西来保持连接,正如@schillingt所提到的。这将允许您在用户页面上进行实时更新

Django频道文档:


你知道Django频道吗?不,我不知道Django频道。我去看看。谢谢你的解释