2014-12-04 22 views
0

我目前有一個非常基本的Python Web應用程序。我正在利用它對SmartTV瀏覽器進行一些基本測試,該瀏覽器甚至遠程支持JavaScript也不支持。使用Python web.py提供頁面,如何重新加載並在超時後動態更改頁面?

我需要能夠將電視瀏覽器指向我的webapp的URL,讓它加載一個包含一個僅包含一個gif的div的頁面,然後每10秒鐘說一次,重新加載頁面,切換到不同的頁面GIF。它可能只是兩個GIF來回切換,但我需要弄清楚如何在沒有Javascript重新加載頁面的情況下實現這一點。或者,也許在整個世界的最基本的JavaScript重新加載頁面,但我已經嘗試了幾個JS動作,並遇到各種類型的差處理,導致意想不到的結果,雖然有趣,沒有測試我'我們的任務是測試。

這裏是我當前的代碼從app.py:

import web 
import time 

urls = (
    '/', 'Index' 
) 

app = web.application(urls, globals()) 

render = web.template.render('templates/') 

class Index(object): 
    def GET(self): 
    currentGif = 'http://10.111.0.221/onegif/cosmicShip.gif' 
    return render.index(currentGif = currentGif) 

if __name__ == "__main__": 
    app.run() 

說的呼喚是如上文所述,通過URL來搭起GIF作爲背景圖像一個簡單的div模板。我想要做的是找到一些方法,基本上只是在返回後添加睡眠(10),將currentGif切換到第二個gif文件,然後再次返回頁面。

我知道這樣做並不現實,但這是我能想到解釋我想要的最簡單的方法。我只需要加載頁面,並在兩頁之間循環,直到我手動退出,我不相信JavaScript是一個可行的選項。

任何想法?

+0

我不認爲它可以用JavaScript來完成。您的客戶需要向您的服務器發出另一個GET請求才能重定向。一旦你的服務器發送頁面,連接關閉。您可以嘗試輪詢客戶端,但如果您限制客戶端的訪問權限,您將如何處理該問題。 – Dan 2014-12-04 15:39:35

+0

JavaScript是解決方案。嘗試在urls元組中添加一個路由,並添加一個新的處理程序,該處理程序將只返回圖像路徑,從一個到另一個交替。然後對您的新路線進行異步調用,並每隔10秒用新路徑更新div背景圖像。 – Xavier 2014-12-04 15:43:35

回答

0

我認爲你可以使用javascript來刷新那段時間,並通過GET參數傳遞頁面的ID,然後你在Python控制器中調用另一頁。

JavaScript需要它爲客戶端部分。或者隨時重新加載或調用ajax函數。

Python:控制器保存狀態並響應當前狀態。

+0

感謝評論/回答的人。不足之處是讓JavaScript在其中一些方面正常工作(或根本就沒有問題),所謂的智能電視充其量是充滿挑戰的,但我們仍在繼續研究這種方式,並且與幾個型號運行有限。欣賞這裏提供的信息。 – mikecole79 2014-12-05 20:48:52

相關問題