Python事件驱动的Webframework

2024-05-23 18:44:07 发布

您现在位置:Python中文网/ 问答频道 /正文

嗨, 有没有针对Python的事件驱动/基于事件的Webframework?在

我的意思是,NitroGen是为erlang设计的。在

您只需将一些组件添加到网站(如按钮)中,并将python函数与按钮的“onclick”处理程序关联起来,就可以执行它了。它应该为我生成所有需要的html和js核心(就像氮气一样),并支持所有需要的组件(比如span、p、button、textbox、passwordfield…) 就像下面的代码:

from pyjamas.ui.RootPanel import RootPanel
from pyjamas.ui.Button import Button
from pyjamas import Window

def greet(fred):
    Window.alert("Hello, AJAX!")

if __name__ == '__main__':
    b = Button("Click me", greet)
    RootPanel().add(b)

得到this。在

我找到的唯一框架是PyJamas,但它是为Web应用程序(比如webmailer)而设计的,而不是针对Web页面的(google需要内容索引,在没有js的情况下应该是可读的,功能有限)。那么有没有类似睡衣或氮气之类的东西呢?在

谢谢!在


Tags: fromimportwebuijs事件组件button
2条回答

KSS(动力学样式表)提供了类似于氮气的东西。虽然KSS与nin的不同之处在于它定义了一种简单的领域特定语言(DSL),用于声明JavaScript事件应该如何绑定到客户端的HTML页面上,而且这个DSL还可以声明事件需要通过AJAX触发服务器端组件。使用氮气和睡衣,包含JavaScript如何与HTML交互的信息是从服务器端语言的数据结构中推导出来的。在

http://kssproject.org/

在KSS项目描述中,“KSS既有客户端Javascript库,又有服务器端支持。客户端Javascript库需要包含在页面中。或者从一个浏览器的action-sheets和action-set绑定它们。它是干净的Javascript代码,可以与其他干净的Javascript库(如JQuery或ExtJS)和平共存。”

KSS可以独立于任何Python或服务器端代码使用。但是,KSS中有一些工具可以将KSS客户端事件绑定回pythonweb框架中的服务器端可调用项。有一些绑定可以将KSS与许多Python流行的web框架(Django、Pylons、Zope、Plone、Grok)结合使用。在

HTML不是事件驱动的,因此如果不借助Ajax,就不能创建这样一个事件驱动的web框架,而且您不希望这样做。所以答案是否定的,因为这样的事情根本不可能

我怀疑你的意思不是事件驱动,而是你有一个系统,在那里你定义了一个模式,并为你生成了表单。每个Web框架都有这个功能。在

像是基于事件驱动的组件开发工具,休止.BFG,Zope3和最新的:波波。在

http://grok.zope.org/http://bfg.repoze.org/http://wiki.zope.org/zope3/Zope3Wikihttp://bobo.digicool.com/

编辑:好吧,显然问题只出在睡衣上,而不是Javascript。 在这种情况下,KSS,如上所述。而且它可以与上面的框架一起使用!在

相关问题 更多 >