2011-10-04 94 views
0

我想要更好的方式來更新網頁上的圖片,而不是強制網頁每60秒刷新一次。如何在數據庫更改時刷新頁面部分?

我寫了一個小小的狀態頁面來監視我們的一些網站。它使用web.py並顯示我輸入到數據庫中的服務器列表。

每臺啓動的服務器都會在其旁邊顯示綠色png圖像。

當服務器出現故障時,我將本地mysql數據庫中的狀態更新爲false。

下一次頁面刷新時,它會在旁邊顯示一個紅色png。

現在紅色PNG文件不會顯示,直到我刷新頁面。

在web.py(python)中有沒有一種方法可以使圖像動態而不必刷新整個頁面?或者我必須使用其他方法才能使其工作?

回答

2

那麼,通用的答案是,你使用AJAX並在每個服務器上放置一個腳本,每次你的頁面檢查時都會返回「up」或什麼。

下面是關於如何使用web.py專門做AJAX教程:http://kooneiform.wordpress.com/2010/02/28/python-and-ajax-for-beginners-with-webpy-and-jquery/

+0

備註:「當服務器出現故障時,我將本地mysql數據庫中的狀態更新爲false。」 - 這似乎並不是必要的,除非你想保持正常運行時間的記錄,並且ajaxified網頁實際上不是跟蹤正常運行時間的最佳方法 - 這最好用保持運行時間統計的軟件來完成。 –

1

我沒有給web.py.相關知識

但在我看來,你需要的是將代碼分爲兩部分(監視器服務和監視器顯示)並使用javascript異步更新數據。

您的監視器服務將提供一個URL,用於接收受監視的站點ID並向上或向下返回。當你使用web.py時,它可能是100%的python。

您的顯示器顯示器將使用javascript到X秒檢查該URL並顯示正確的圖標。它可以是基於python的,或者不是。但它將需要JavaScript。

相關問題