python - 重定向加载旧内容?

标签 python google-app-engine flask

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

    PYTHON:
    @app.route("/Total", methods=['GET', 'POST'])
    def total():
     data = Logins.query(Logins.name == "steve").count()
    return render_template('Total.html', count=count)

    @app.route("/Increment", methods=['GET', 'POST'])
    def incre():
     new_data = oAuthLogins()
     new_data.name = "steve"
     new_data.put()
    return redirect(url_for('total'))

    Total.html:
    {{count}}
    <a href={{url_for('incre')}}> Increment! </a>

最佳答案

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

但是,这是良好的用户体验吗?

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

对于用户体验,我认为用户应该看到数字 3。他/她总是可以通过再次刷新看到最新的数字。

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

关于python - 重定向加载旧内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54000273/

相关文章:

python - 如何从 dtype 为列表的 Pandas 系列中删除 NaN?

python - 导入错误 : No module named 'requests.packages.urllib3' arises when deploying to GAE

python - 从 PdfFileWriter 创建 blobstore 文件

java - 在插件 com.google.appengine :appengine-maven-plugin 中找不到目标 'run'

javascript - 如何使用axios发布图片?

api - Flask 未从 HTTP POST 接收数据

twitter-bootstrap - 如何在 flask-bootstrap 中使用 bootstrap.static

python Pandas : Resample date range

python - 使用 Dataframe 字段导出颜色和图例的 Pandas 散点图

python - 使用 ElementTree 访问 XML 响应中的特定标记值