2016-12-28 199 views
-1

我創建了一個Python動力Web框架旨在儘可能使用JavaScript儘可能小。需要做一些像uilang這樣的輕量級事件來將事件傳遞給我的Python代碼。我想這應該是jQuery解決方案以某種方式pinging觀察者對象(?)。Python後端與JS前端

我發現了一些努力來創建純Python接口,如Remi,但仍然不知道如何在我的代碼中重新實現它。

比方說,我作出這樣一個類:

class WebView(): 
    def __init__(self, template, **callbacks): 
     """ 
     Callbacks are dict, {'object': callback} 
     """ 
     self.template = template 
     self.customJS = None 
     for obj, call in callbacks: 
      self.setCallback(obj, call) 

    def __call__(): 
     """ 
     Here I return template 
     Assume {{customJS}} record in template, to be simple 
     """ 
     return bottle.template(self.template, customJS = self.customJS) 

    def setCallback(self, obj, call): 
     """ 
     Build custom js to insert 
     """ 
     self.customJS += ('<script ....%s ... %s' % (obj, call)) 

所以,我怎麼可能讓JS通過,比如說,從按下按鈕回到我的回調的事件嗎?

我明白,這個問題可能是過於寬泛的邊緣,但我只是儘可能描述,因爲我真的不知道JS。

+1

您需要在展開這樣一個史詩般的創作之前,對客戶端和服務器技術如何協同工作做更多的研究。可以從以下開始:https://pythonprogramming.net/jquery-flask-tutorial/ –

回答

0

你也可以用websockets來做,但我不認爲這是最好的方法。您可以在python端使用websocket-python庫,並且在網站上,您只需在每個按鈕單擊回叫時發送websocket消息。

1

事情是你不需要爲Python Web框架的JavaScript。你會很好地服務與燒瓶或Django的頁面沒有JS的單行。

這些頁面會非常靜態的幾種形式,但完美的工作。

現在如果你想有更多的動態內容和交互,你可能需要JS,並使用XMLHttpRequests異步調用你的python後端的事件。但爲了做到這一點,你應該從學習JS開始。