这是我在django中的情况,我需要在两个用户之间创建匹配,用户轮流,其中一个用户完成后,我需要将user1分数发送给user2,反之亦然。
以下是我尝试的内容:user1通过获取user2 id(我可以说我在那里进行了匹配)发送GET
请求以获取user2作为对手,然后在user1完成后再创建另一个{{ 1}}请求他的id和得分给django。这就是我卡住的地方:
我不知道如何将user1分数发送给user2 我不知道如何存储数据,因此两个用户都可以访问彼此的分数。
我对django很新,所以我根据我对框架的基本知识做了所有这些,如果我错了,请纠正我,并建议采用更好的方法。
答案 0 :(得分:0)
我将采取的方法是创建两个模型,一个用于匹配,另一个用于转弯。匹配将包含字段,包括player_1和player_2的外键以及总分,游戏活跃以及哪些玩家将其转换为。我要创建的第二个模型是转弯,其中包含转弯的细节和匹配的外键。
每次转弯时都会是CreateView,请参阅Class based views in the django docs。这将创建一个新的转弯,你应该能够自动添加它所属的游戏。
然后您将遇到的问题是通知其他用户已经进行了新的转弯。最简单的方法是等待并让用户重新加载页面,但这可能会导致用户体验不佳。
下一个方法是创建一个javascript循环来定期轮询你的后端并在其他玩家轮到他们时创建一个警告。
最后,如果你想从后端推送到浏览器,你需要调查django channels,它允许你设置从后端到前端的websocket连接。这将允许您在新数据可用时更新UI。
对于新用户,您可能希望按照为了构建体验而概述的顺序浏览选项。