首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于Python的事件驱动的Webframework

用于Python的事件驱动的Webframework
EN

Stack Overflow用户
提问于 2009-06-30 22:28:09
回答 6查看 1.8K关注 0票数 1

嘿,有没有什么Python的事件驱动/基于事件的Webframework?

我的意思是像NitroGen这样的东西是给erlang的。

您只需获取一些添加到网站的组件(如按钮),并将python函数与按钮的"onclick"-handler相关联,它就会被执行。它应该为我生成所有需要的html和js核心(就像氮气一样),并支持所有需要的组件(如span,p,button,textbox,passwordfield……)如以下代码所示:

代码语言:javascript
复制
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,但它是为网络应用程序(所以像Webmailers)而不是为网页(谷歌需要索引内容,应该可以在没有js的情况下阅读,功能有限)而设计的。那么,有没有类似的东西,比如PyJamas或氮气?

谢谢!

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-06-30 23:06:07

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

http://kssproject.org/

在KSS项目描述中,"KSS拥有客户端Javascript库和服务器端支持。客户端Javascript库需要包含在您的页面中。它从服务器获取动态样式表,解析它们,并将一组操作绑定到浏览器事件和/或页面元素。它是干净的Javascript代码,可以与其他干净的Javascript库(如JQuery或ExtJS)和平共存。“

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

票数 3
EN

Stack Overflow用户

发布于 2009-06-30 23:27:55

HTML不是事件驱动的,所以如果不借助Ajax,你就不能创建这样的事件驱动的web框架,这是你不想要的。所以答案是否定的,因为这样的事情是不可能的,

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

但是如果你喜欢组件和事件驱动开发,看看基于Zope Toolkit的web框架,也就是Grok,Repoze.BFG,Zope3和最新的Bobo。

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

编辑:好的,很明显问题只出现在Pyjamas上,而不是使用Javascript。在这种情况下,如上所述,KSS可以工作。并且它可以与上面的框架一起使用!

票数 1
EN

Stack Overflow用户

发布于 2009-07-01 02:17:05

Zope 3可能适合您的目的(当在Twisted之上使用时,就像现在这样),Divmod Mantissa也是如此--它们肯定都是强事件驱动的,特别是尾数,以及_any_thing ,但是“低级”的,特别是Zope (事实上,人们经常抱怨后者太丰富,太高级,难以掌握;-)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1066413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档