首页 > 解决方案 > Django 必须不断更新支持的更新信息

问题描述

我需要有关 Django 的技术建议,我什至不知道在哪里寻找大方向。

现在,我有一个跟踪工作/轮班时间表的应用程序。这是一个带有 Django 后端的 Android/iOS 应用程序,我是后端工程师。当用户更新他们的日程安排并对我们的服务器进行备份时,手机会发送一长串请求。此序列以“backup”URI 开始,以“vacationData”URI 结束。备份成功后,我的服务器将收到的最后一个请求将是“vacationData”URI。我想要实现的是:就像在 Google 电子表格中一样,每当用户更新他们的日程并进行备份时,“共享日程”URI 必须相应地更新。我开始使用侦听“vacationData”URI 的 Django Signals 设置“共享计划”URI。但是,现在我意识到唯一的用户将 GET 请求发送到“ 有没有办法将更新的(新备份的)日程信息发送给客户,无论他们是否请求?当我想到 Google 电子表格时,我的计算机并不是每 0.5 秒就不断地向 Google 服务器发送 GET 请求,但我仍然可以实时看到其他人在做什么。那么在这种情况下我应该实施什么样的技术呢?服务器端的大图架构是什么样的?有没有办法将更新的(新备份的)日程信息发送给客户,无论他们是否请求?当我想到 Google 电子表格时,我的计算机并不是每 0.5 秒就不断地向 Google 服务器发送 GET 请求,但我仍然可以实时看到其他人在做什么。那么在这种情况下我应该实施什么样的技术呢?服务器端的大图架构是什么样的?

非常感谢,本周休息愉快!

PS:由于没有导师,我不知道在哪里可以问这样一个笼统的问题。我知道 StackOverflow 社区更喜欢非常具体的技术问题。如果我需要一些关于我应该在哪里寻找我想要实现的目标的指导,或者如果我对开发有一个非常笼统的问题,那么哪个社区最适合这个?

标签: pythondjango

解决方案


可以实现一个客户端脚本,GET每隔几秒发送一个请求以从后端提取最新数据。事实上,根据您描述的用例,这可能是最简单的解决方案 - 假设客户端具有稳定的互联网连接。

但是,如果您正在寻找一种更复杂的解决方案,从长远来看可以更好地为您服务,您可能正在寻找 web-socket 技术。幸运的是,Django 有一个包,django-channels可以做到这一点:

https://channels.readthedocs.io/en/stable/


推荐阅读