1

我正在使用 Python 2.7、webapp2 和 Jinja 编写一个 GAE webapp。在开发中,我在 Max OSX 10.7.5 (Lion) 上的 PyCharm 2.7.1 下运行该应用程序。我目前使用 Chrome 26.0.1410.43 作为我的浏览器。

我不确定这是 PyCharm 问题,但这是我的最佳猜测。这是一个描述:

当我使用“调试”控件启动应用程序时,当我从一个页面导航到另一个页面时,网页会自动刷新。也就是说,如果我从页面 A 开始,导航到页面 B,采取一些操作来更改 A 的外观,然后导航回 A,就会出现更改。

但是,当我使用“运行”控件启动应用程序时,没有其他更改,网页不会自动刷新。在同样的情况下,当我导航回 A 时,会出现该网页的旧版本。我需要单击浏览器的刷新控件才能看到更新的页面。

请告诉我如何阻止浏览器在运行模式下显示缓存页面。我还没有尝试将它发布到我们的 GAE 网站,希望它不会在那里发生,但我需要运行模式才能在我正在创建的视频教程中获得性能。

感谢您的任何建议!

4

1 回答 1

0

事实证明,这不是刷新或缓存问题,而是时间问题。在某些情况下,GAE 使用一种更新算法,该算法会在应用事务之前产生延迟。在运行模式下,在更新完成之前正在请求新页面;在调试模式下,有足够的时间完成更新。

一种解决方案是更改数据存储架构以消除读取过时版本的数据,但这会导致其他更严重的问题。

另一种解决方案是在更新之后但在显示更新的记录之前包括瞬间延迟。不理想,因为不可能知道延迟需要多长时间,但目前这已经令人满意。

于 2015-06-15T15:51:27.377 回答