最近,我一直在研究将 Web 套接字集成到 Django 中。根据文档,使用Channels是要走的路。
给定一个说明性模型查询
class Request(models.Model):
id = models.IntegerField(name="id", primary_key=True)
query = models.CharField(name = 'query', max_length=1024)
我想让我的 Web 应用程序连接到 Web 套接字服务器。当 Web 套接字服务器接收到消息时,它应该将该消息广播到客户端建立的特定套接字连接子集。
客户端(即网络浏览器)一旦收到广播消息,它应该将其附加到Request.objects。从那里开始,所有查询的列表应该使用 Django 模板自动更新,并在其中定义模型 - 无需强制用户显式刷新它。
因此,我的问题是:(我)使用通道(如果这是在 Django 中处理 Web 套接字连接的首选方式),我如何将新到达的Query对象附加到Query.objects - 而不将对象存储到数据库中因为在发送到web socket服务器之前已经插入了,(二)刷新对应的Django模板的内容。