我正在创建一个支持Python的Web框架,旨在尽可能少地使用javascript。需要制作像uilang这样的轻量级内容来将事件传递给我的Python代码。我想应该是jQuery解决方案以某种方式ping一种观察者对象(?)。
我发现了一些创建纯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。
答案 0 :(得分:1)
你不需要为python web框架使用javascript。没有JS的单行,你可以很好地使用flask或django来提供页面。
这些页面非常静态,有一些形式,但可以很好地工作。
现在,如果你想拥有更多动态内容和交互,你可能需要JS,并使用XMLHttpRequests在事件上异步调用你的python后端。但为了做到这一点,你应该从学习JS开始。
答案 1 :(得分:0)
你也可以用websockets来做,但我不认为这是最好的方式。您可以在python端使用websocket-python库,在网站上,您只需在每次按钮点击回调时发送websocket消息。