我正在使用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时,会显示该网页的旧版本。我需要单击浏览器的Refresh控件以查看更新的页面。
请告诉我如何阻止浏览器在运行模式下显示缓存页面。我还没有尝试将它发布到我们的GAE网站,希望它不会发生在那里,但我需要运行模式来提高我正在创建的视频教程的性能。
感谢您的任何建议!
答案 0 :(得分:0)
事实证明,这不是刷新或缓存问题,而是时间问题。在某些情况下,GAE使用更新算法,在应用事务之前会产生延迟。在运行模式下,在更新完成之前请求新页面;在调试模式下,有足够的时间来完成更新。
一种解决方案是更改数据存储体系结构以消除读取过时版本的数据,但这会导致其他更严重的问题。
另一种解决方案是在更新之后但在显示更新的记录之前包括瞬间延迟。不理想,因为不可能知道延迟时间有多长,但目前这已经令人满意了。