У меня есть веб-страница со ссылкой на URL-адрес, например ./customer/showitem?id=7, которая отображает сведения о конкретном клиенте в дочернем окне с помощью метода showitem () в классе customer. Метод может установить значение атрибута класса клиента, который управляет предупреждением, которое отображается при загрузке страницы (например, self.onloadalert = "Предупреждение! Клиент в долгу.").
Если окно клиента закрывается, а затем открывается снова (возможно, с другим идентификатором, например, / customer / showitem? Id = 8), информация о новом клиенте отображается правильно, но предупреждение о загрузке выше все равно появляется из-за клиента. onloadalert не изменился с момента последнего вызова (я проверял это с помощью отладки). Похоже, что хотя метод запускается с нуля при втором вызове URL-адреса, класс клиента (и все его значения атрибутов) все еще сохраняется после предыдущего вызова.
Я могу решить проблему для этого конкретного атрибута, сбросив его в начале showitem (), но как насчет других customer.attributes? (особенно если их много) - я не могу сбросить их все по имени! Как я могу гарантировать, что класс перезагружается (и, следовательно, повторно инициализируется) для каждого вызова url?
Я использую CherryPy (3.20rc1), хотя думаю, что этот вопрос применим к другим платформам, использующим тот же формат / class / method? Params url.
Любая помощь будет оценена.
Alan