重定向加载旧内容?

时间:2019-01-02 01:29:34

标签: python google-app-engine flask

一个奇怪的问题。为了说明目的简化问题。用户转到/ Total页面并以“ steve”为名称获取数据存储中记录的计数,此刻有2个,然后可以按增量,然后将用户重定向到/ Increment,以便添加另一条记录进入nbd,然后再次将用户重定向到/ Total,但仍显示2!如果他只是刷新页面,则显示3。我认为是因为在完全将实体提交到数据存储区之前发生了重定向回/ Total的操作?如果没有,这是代码,请让我知道出了什么问题。谢谢!

pd.Series([0,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0])

3 个答案:

答案 0 :(得分:0)

发生这种情况的原因有很多:数据库更新缓慢(最终保持一致),缓存等。

但是,这是一种很好的用户体验吗?

如果用户看到一个数字(2),然后按增量,但是该记录已更改,那么最好向用户显示他们期望的数字(3)或实际数字(可能比3高得多)他们点击增加的时间)?

对于UX,我认为用户应该看到数字3。他/她总是可以看到最新的数字,并且需要刷新。

请记住,您可以通过更改/increment调用(通过AJAX完成)来解决此问题,并在收到200响应时简单地增加前端的数字。

答案 1 :(得分:0)

您将从(Logins类)查询中获得计数,除非最终查询是祖先查询,否则该查询最终始终是一致的。

如果将获取方法转换为高度一致的方法,则可以显示正确的计数,例如将其存储在用户实体的属性中,该属性始终可以通过键查找(或其他等效实体类型)获得总是与用户实体一对一关系,请参见enter image description here

答案 2 :(得分:0)

我试图复制该问题,它对我有用。我不确定这是否是您要寻找的,但是这里是my example code in GitHub

运行代码时,请执行以下步骤:

  1. 导航到localhost:8080将打印Hello World
  2. 首次导航到localhost:8080 / add以在实体中输入第一个值。 (将添加数字2)
  3. 转到GCP页面中的实体,并从记录中获取ID
  4. 用代码ENTITY_KEY中的一个替换该ID
  5. 导航到localhost:8080 / get将打印保存在实体中的号码
  6. 导航到localhost:8080 / update将获得该编号,在该编号上加1,然后再次保存该编号。
  7. 之后,它将自动重定向到localhost:8080 / get,并向您显示实体中的更新值