Uliweb-Uliweb-快速易用的快速易用的PythonWebFrameworkPythonWebFrameworkLimodou(limodou@gmail.com)2009年8月16日内容提要内容提要说说那过去的事Web开发那些事拨云见日重用性是No.1方便、还是方便层次不足示例展望资源Q&A说说那过去的事说说那过去的事我的Python经历:最早是PHP,后来是Zope,然后是CherryPy,Karrigell,Django,Web2py。TurboGears,Pylons了解一点,没有真正用过。牢骚:◦Django:模板(功能及配置),URL,APP的重用不够,DRY的矛盾哲学(python-cn邮件列表的大讨论)◦Web2py:模板,URL,APP的重用,向前兼容的哲学WebWeb开发那些事开发那些事简单的Web开发,做网站复杂的Web开发,做应用主要功能:◦Request和Response的处理◦模板◦URL映射◦数据加工:ORM,文本,静态文件,其它◦部署其它功能:◦用户认证(配置文件,数据库,LDAP,OpenID等)◦用户定制(Theme,布局,插件,管理)◦API◦Ajax◦桌面化◦与其它应用集成为什么有这么多的框架?为什么有这么多的框架?哲学不同每一种框架代表一种哲学,一种思维方式,一种使用习惯有许多的模块可以完成组成Web框架的不同功能,使得构建框架变得相对容易框架之间的差异一方面是功能,组件的差异,但更重要的是哲学,思维,习惯的差异拨云见日拨云见日MVT型框架◦模板自动关联(web2py-like)◦Middleware,WSGI-Middleware支持◦扩展的Web2py模板(支持tag扩展,Django-likeBlock)更完全的APP重用◦APP级别配置文件(settings.ini)◦静态文件,模板定位◦APP管理功能Hook系统简单的URL映射通用功能:开发服务器(自动重启),i18n支持,静态文件支持,命令行工具,Debug页面,简单的Admin重用性是重用性是No.1No.1可重用元素:模板、View、静态文件、Model、Form…AppUliweb中的App可以是任何东西:模板,View,静态文件,配置参数。模板和静态文件可以做为一个整体来使用独特的App的依赖处理机制(config.ini)所做努力:◦模板的搜索◦静态文件的处理◦settings.ini的合并DjangoAPPDjangoAPP的不足的不足不支持APP级别的静态文件没有APP级别的配置文件只能共享Model,ViewWeb2pyAPPWeb2pyAPP的不足的不足APP是Application级别的共享,很难实现代码级别共享,是运行和部署的最小单位Uliweb和Django的是开发的最小单位方便、还是方便方便、还是方便..Web2py-likeview函数:@expose(‘/index’)defindex()...