是的,可以在請求期間刷新頁面的一部分。
但它需要瀏覽器端的一些應用程序或UI邏輯,以促進這一點。
一種方法是使用專用的iframe。將iframe看作瀏覽器窗口內的瀏覽器窗口。您可以將任何喜歡的內容插入到iframe中,並且可以獨立於頁面中周圍的內容來刷新iframe。 iframe方法經常用於周圍頁面的內容和iframe本身的內容來自不同地方的情況。例如,一個Facebook「喜歡小部件」使用來自Facebook的內容。很長一段時間,Facebook爲人們提供了一種嵌入其頁面的方式,一個包含類似小部件的iframe。通過這種方式,Facebook無論小部件嵌入什麼樣的頁面,都能夠保持對其圖像,品牌,外觀和感覺等的控制。
當框架的內容和周圍位的內容來自同一個來源 - 如你的appengine實例時,那麼你不需要一個iframe。你可以使用一個簡單的div,並異步更新它。
這種方法有時被稱爲AJAX--指的是異步JavaScript和XML。基本思想意味着從瀏覽器到服務器的異步請求(超出正常頁面刷新週期),以獲取內容;在JavaScript中實現的瀏覽器邏輯可以以任何方式更新UI。
與名稱相反,從這樣的異步請求發出XML作爲響應並非絕對必要。實際上,更常見的方法是使用JSON作爲數據格式。但是當然,使用這種設計模式時,服務器上的Python代碼通常不會返回格式化的HTML。它會以某種合理的格式(XML,JSON和其他)返回數據,然後在瀏覽器中運行的Javascript邏輯將在適當的位置將該數據呈現爲HTML。
在「標準」Web瀏覽器模型中,每頁請求發送一個HTTP請求(儘管可能會爲.css文件,圖像等發送附加請求),並且每個附加請求都意味着整頁刷新。在AJAX模型中,瀏覽器像以前一樣最初請求網頁,但可以異步發送其他HTTP請求,而無需完全刷新頁面。
謝謝cheeso。 我想知道如何在我的代碼中使用ajax? – 2012-04-06 19:51:39
您需要閱讀有關AJAX設計方法的基本教程。下面是一個很好的例子:http://www.ibm.com/developerworks/library/wa-aj-ajaxhistory/index.html AJAX在瀏覽器中使用;在服務器上使用Python並不重要。您需要在服務器上創建邏輯以響應來自瀏覽器的AJAX請求,但這非常簡單。 – Cheeso 2012-04-06 21:20:52