Peter Bengtsson wrote at 2006-8-21 10:13 +0100:
... global variables turn to 'None' after refresh ...
If you have accessed the "index_html" via a persistent instance, then the "resetCaches" seems not to have done what we expect (it should have caused the connection cache to be dropped and a new instance loaded from the storage with the new class definition).
The function resetCaches() and self._resetCache() in ZODB.Connection hasn't changed from zope 2.8 to zope 2.9.
Nevertheless, your "index_html" seems to be old. Apparently, the old module instance was dropped (this dropping caused the global variable to get 'None'). You should now have a new module instance in its place in "sys.modules" (reflecting your code change). If the ZODB connection cache was replaced by a new one, then the self of your "index_html" is newly loaded from the storage. This should give it the new class definition (where "index_html" references the new module instance). Something along this line appears to be wrong. You need to investigate what it is. -- Dieter