- 1、本文档共24页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
Uliweb快速易用的PythonWebFramework教程
内容提要说说那过去的事Web开发那些事拨云见日重用性是No.1方便、还是方便层次不足示例展望资源QA
说说那过去的事我的Python经历:最早是PHP,后来是Zope,然后是CherryPy,Karrigell,Django,Web2py。TurboGears,Pylons了解一点,没有真正用过。牢骚:Django:模板(功能及配置),URL,APP的重用不够,DRY的矛盾哲学(python-cn邮件列表的大讨论)Web2py:模板,URL,APP的重用,向前兼容的哲学
Web开发那些事简单的Web开发,做网站复杂的Web开发,做应用主要功能:Request和Response的处理模板URL映射数据加工:ORM,文本,静态文件,其它部署其它功能:用户认证(配置文件,数据库,LDAP,OpenID等)用户定制(Theme,布局,插件,管理)APIAjax桌面化与其它应用集成
为什么有这么多的框架?哲学不同每一种框架代表一种哲学,一种思维方式,一种使用习惯有许多的模块可以完成组成Web框架的不同功能,使得构建框架变得相对容易框架之间的差异一方面是功能,组件的差异,但更重要的是哲学,思维,习惯的差异
拨云见日MVT型框架模板自动关联(web2py-like)Middleware,WSGI-Middleware支持扩展的Web2py模板(支持tag扩展,Django-likeBlock)更完全的APP重用APP级别配置文件(settings.ini)静态文件,模板定位APP管理功能Hook系统简单的URL映射通用功能:开发服务器(自动重启),i18n支持,静态文件支持,命令行工具,Debug页面,简单的Admin
重用性是No.1可重用元素:模板、View、静态文件、Model、Form…?AppUliweb中的App可以是任何东西:模板,View,静态文件,配置参数。模板和静态文件可以做为一个整体来使用独特的App的依赖处理机制(config.ini)所做努力:模板的搜索静态文件的处理settings.ini的合并
DjangoAPP的不足不支持APP级别的静态文件没有APP级别的配置文件只能共享Model,View
Web2pyAPP的不足APP是Application级别的共享,很难实现代码级别共享,是运行和部署的最小单位Uliweb和Django的是开发的最小单位
方便、还是方便.Web2py-likeview函数:@expose(‘/index’)defindex():printrequestreturn{}模板自动套用,必须返回一个dict对象内置一些全局变量和web2py类似,如:request,responseexpose()来实现URL与view函数的映射。url_for(func_name)可以反向得到view对应的URL减少了不必要的import
方便、还是方便..Web2py-likeTemplate可以直接嵌入Python代码,不需要考虑缩近,但在结束时要使用{{pass}}支持Python代码与HTML代码混合支持django-likeblock功能支持自定义tag
方便、还是方便…简单的URL映射,使用expose()@expose(‘/static/path:filename’)@expose(‘/archieve/int:year/int:mon’)@expose(‘/user/username’)@expose(‘/page’,default={‘pageno’:1})REST:@expose(‘/view’,methods=[‘GET’])类urls.py的使用方式
配置管理Settings.ini(类ini,Python语法)Django使用settings.py,不方便程序处理Web2py讲究0配置
Admin界面
层次Uliweb是一个相对基础的框架简单的应用可以基于Uliweb直接进行开发复杂的开发应该是在Uliweb上的定制,以此为基础进行二次开发平台维护人员应用开发人员
造轮之路-造你的轮,让别人说去吧喜欢对原模块改动太大不被人接受响应太慢有更好的实现更容易了解细节,真正掌握学习主义者(不是拿来主义)
Uliweb中的“轮子”Ini处理 pyini模板处理 templateLockfile weto/lockfileSession wetoORM ormForm formI18n i18n
App介绍AdminSessionCacheOrmTemplate(内容动态组装)StaticfilesUploadAuthi18n
不足ORM还不完善,相关的数据库
文档评论(0)