Suche senden
Hochladen
Uliweb设计分享
•
Als PPTX, PDF herunterladen
•
0 gefällt mir
•
1,171 views
modou li
Folgen
介绍Uliweb近况及一些设计思路
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 18
Jetzt herunterladen
Empfohlen
Kissy模块化实践
Kissy模块化实践
yiming he
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
Will Huang
Angular js twmvc#17
Angular js twmvc#17
twMVC
淘宝开放产品前端实践
淘宝开放产品前端实践
taobao.com
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
taobao.com
第三方内容开发最佳实践
第三方内容开发最佳实践
taobao.com
2021laravelconftwslides12
2021laravelconftwslides12
LiviaLiaoFontech
AngularJS training in Luster
AngularJS training in Luster
Jason Chung
Empfohlen
Kissy模块化实践
Kissy模块化实践
yiming he
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
進擊的前端工程師:今天就用 JSON Server 自己打造 API 吧!
Will Huang
Angular js twmvc#17
Angular js twmvc#17
twMVC
淘宝开放产品前端实践
淘宝开放产品前端实践
taobao.com
广告投放代码和创意代码持续优化
广告投放代码和创意代码持续优化
taobao.com
第三方内容开发最佳实践
第三方内容开发最佳实践
taobao.com
2021laravelconftwslides12
2021laravelconftwslides12
LiviaLiaoFontech
AngularJS training in Luster
AngularJS training in Luster
Jason Chung
ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索
Will Huang
Real World ASP.NET MVC
Real World ASP.NET MVC
jeffz
2021laravelconftwslides10
2021laravelconftwslides10
LiviaLiaoFontech
2021laravelconftwslides8
2021laravelconftwslides8
LiviaLiaoFontech
Vue
Vue
國昭 張
Berserk js
Berserk js
taobao.com
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式
Will Huang
KISSY Editor Design 2
KISSY Editor Design 2
yiming he
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
Will Huang
Vue ithome
Vue ithome
Yoyo Young
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
Will Huang
宅學習 Firebase
宅學習 Firebase
Wei chung chai
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
Will Huang
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
Will Huang
Vue.js
Vue.js
ZongYing Lyu
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
Will Huang
ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索
Will Huang
jQuery Mobile
jQuery Mobile
彭其捷 Jack
富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用
luolonghao
Actividad 4 castillo segura omar eduardo
Actividad 4 castillo segura omar eduardo
omareduardocastillosegura
Trabajo p.n 1 nuevas tecnologias
Trabajo p.n 1 nuevas tecnologias
rolandoarevalo
Weitere ähnliche Inhalte
Was ist angesagt?
ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索
Will Huang
Real World ASP.NET MVC
Real World ASP.NET MVC
jeffz
2021laravelconftwslides10
2021laravelconftwslides10
LiviaLiaoFontech
2021laravelconftwslides8
2021laravelconftwslides8
LiviaLiaoFontech
Vue
Vue
國昭 張
Berserk js
Berserk js
taobao.com
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式
Will Huang
KISSY Editor Design 2
KISSY Editor Design 2
yiming he
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
Will Huang
Vue ithome
Vue ithome
Yoyo Young
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
taobao.com
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
Will Huang
宅學習 Firebase
宅學習 Firebase
Wei chung chai
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
Will Huang
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
Will Huang
Vue.js
Vue.js
ZongYing Lyu
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
Will Huang
ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索
Will Huang
jQuery Mobile
jQuery Mobile
彭其捷 Jack
富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用
luolonghao
Was ist angesagt?
(20)
ASP.NET Core 6.0 全新功能探索
ASP.NET Core 6.0 全新功能探索
Real World ASP.NET MVC
Real World ASP.NET MVC
2021laravelconftwslides10
2021laravelconftwslides10
2021laravelconftwslides8
2021laravelconftwslides8
Vue
Vue
Berserk js
Berserk js
使用 ASP.NET 5 實戰開發雲端應用程式
使用 ASP.NET 5 實戰開發雲端應用程式
KISSY Editor Design 2
KISSY Editor Design 2
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
快快樂樂學會 Angular 2 網站開發框架 (Modern Web 2016)
Vue ithome
Vue ithome
Node.js在淘宝的应用实践
Node.js在淘宝的应用实践
Angular 7 全新功能探索 (Angular Taiwan 2018)
Angular 7 全新功能探索 (Angular Taiwan 2018)
宅學習 Firebase
宅學習 Firebase
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
全新 Windows Server 2019 容器技術及邁向與 Kubernetes 整合之路 (Windows Server 高峰會)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
使用 Angular 2 與 Firebase 實現 Serverless 網站架構 (JSDC.tw 2016)
Vue.js
Vue.js
DEV305 - ASP.NET 5 開發攻略
DEV305 - ASP.NET 5 開發攻略
ASP.NET MVC 5 新功能探索
ASP.NET MVC 5 新功能探索
jQuery Mobile
jQuery Mobile
富文本编辑器在互联网上的应用
富文本编辑器在互联网上的应用
Andere mochten auch
Actividad 4 castillo segura omar eduardo
Actividad 4 castillo segura omar eduardo
omareduardocastillosegura
Trabajo p.n 1 nuevas tecnologias
Trabajo p.n 1 nuevas tecnologias
rolandoarevalo
Media2
Media2
Karis Edwards
Cuenstos y fabulas
Cuenstos y fabulas
Jaquelin_guzman
федеральный закон "О господдержке инновационной деятельности в Российской фед...
федеральный закон "О господдержке инновационной деятельности в Российской фед...
UNOVA
SEO Training 2016 Search Engine Optimization Tutorials
SEO Training 2016 Search Engine Optimization Tutorials
ayman diab
Audiência Pública - Secretária de Saúde
Audiência Pública - Secretária de Saúde
Jose Camara
Andrusov -kak_napolnit
Andrusov -kak_napolnit
UNOVA
PR Maintenance IONATOR
PR Maintenance IONATOR
prmaintenance
Andere mochten auch
(9)
Actividad 4 castillo segura omar eduardo
Actividad 4 castillo segura omar eduardo
Trabajo p.n 1 nuevas tecnologias
Trabajo p.n 1 nuevas tecnologias
Media2
Media2
Cuenstos y fabulas
Cuenstos y fabulas
федеральный закон "О господдержке инновационной деятельности в Российской фед...
федеральный закон "О господдержке инновационной деятельности в Российской фед...
SEO Training 2016 Search Engine Optimization Tutorials
SEO Training 2016 Search Engine Optimization Tutorials
Audiência Pública - Secretária de Saúde
Audiência Pública - Secretária de Saúde
Andrusov -kak_napolnit
Andrusov -kak_napolnit
PR Maintenance IONATOR
PR Maintenance IONATOR
Ähnlich wie Uliweb设计分享
Kissy design
Kissy design
yiming he
Backbone js and requirejs
Backbone js and requirejs
Chi-wen Sun
Uliweb cheat sheet_0.1
Uliweb cheat sheet_0.1
modou li
Spring 2.x 中文
Spring 2.x 中文
Guo Albert
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
Wade Huang
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
江華 奚
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
twMVC
Uliweb比较与实践 2013
Uliweb比较与实践 2013
modou li
前端MVC之backbone
前端MVC之backbone
Jerry Xie
[DCTPE2010] 如何開發 CCK 欄位模組
[DCTPE2010] 如何開發 CCK 欄位模組
Drupal Taiwan
I os 16
I os 16
信嘉 陳
掌星 移动互联网开发笔记-Vol001
掌星 移动互联网开发笔记-Vol001
rainx1982
ASP.NET Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
江華 奚
20131004 - Backbone js 介紹 by Bryan
20131004 - Backbone js 介紹 by Bryan
LearningTech
Uliweb框架思想与编程
Uliweb框架思想与编程
modou li
JdonFramework中文
JdonFramework中文
banq jdon
Underscore
Underscore
cazhfe
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.x
Bo-Yi Wu
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Gelis Wu
Ähnlich wie Uliweb设计分享
(20)
Kissy design
Kissy design
Backbone js and requirejs
Backbone js and requirejs
Uliweb cheat sheet_0.1
Uliweb cheat sheet_0.1
Spring 2.x 中文
Spring 2.x 中文
Asp.net mvc網站的從無到有
Asp.net mvc網站的從無到有
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
ASP.NET Core MVC 2.2從開發到測試 - Development & Unit Testing
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
Uliweb比较与实践 2013
Uliweb比较与实践 2013
前端MVC之backbone
前端MVC之backbone
[DCTPE2010] 如何開發 CCK 欄位模組
[DCTPE2010] 如何開發 CCK 欄位模組
I os 16
I os 16
掌星 移动互联网开发笔记-Vol001
掌星 移动互联网开发笔记-Vol001
ASP.NET Core 2.1設計新思維與新發展
ASP.NET Core 2.1設計新思維與新發展
20131004 - Backbone js 介紹 by Bryan
20131004 - Backbone js 介紹 by Bryan
Uliweb框架思想与编程
Uliweb框架思想与编程
JdonFramework中文
JdonFramework中文
Underscore
Underscore
Introduction to MVC of CodeIgniter 2.1.x
Introduction to MVC of CodeIgniter 2.1.x
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Visual studio 2012 與 asp.net 4.5 (新功能與開發介紹) 第一天
Mehr von modou li
04.uliweb更多话题介绍
04.uliweb更多话题介绍
modou li
03.uliweb开发进阶
03.uliweb开发进阶
modou li
01.uliweb介绍
01.uliweb介绍
modou li
02.uliweb开发入门
02.uliweb开发入门
modou li
03.python工作环境
03.python工作环境
modou li
02.python基础
02.python基础
modou li
01.python介绍
01.python介绍
modou li
Python面向对象开发基础篇
Python面向对象开发基础篇
modou li
Uliweb 快速易用的Python Web Framework
Uliweb 快速易用的Python Web Framework
modou li
Mehr von modou li
(9)
04.uliweb更多话题介绍
04.uliweb更多话题介绍
03.uliweb开发进阶
03.uliweb开发进阶
01.uliweb介绍
01.uliweb介绍
02.uliweb开发入门
02.uliweb开发入门
03.python工作环境
03.python工作环境
02.python基础
02.python基础
01.python介绍
01.python介绍
Python面向对象开发基础篇
Python面向对象开发基础篇
Uliweb 快速易用的Python Web Framework
Uliweb 快速易用的Python Web Framework
Uliweb设计分享
1.
Uliweb设计分享
limodou@gmail.com 2012-6-14
2.
内容介绍 近期变化 技术特点
未来展望 CCB
3.
Uliweb近期变化(一) 目前最新版本是0.1.2 代码托管于
git https://github.com/limodou/uliweb 和 code.google.com http://code.google.com/p/uliweb plugs 最新版本是 0.1.1 https://github.com/limodou/plugs 独立的文档项目 https://github.com/limodou/uliweb-doc plugs中提供bootstrap和大量jquery插件 CCB
4.
Uliweb近期变化(二) ORM优化:多数据库支持,及命令行支持及改造,短
连接支持 Alembic支持 http://pypi.python.org/pypi/alembic Generic优化 増加GenericReference, GenericRelation 对云平台部署的支持:GAE, dotCloud, SAE, BAE, Heroku upload优化,支持X-SENDFILE处理方式 命令行优化:find, export, exportstatic, sqldoc 文档补充 Plugs组件的丰富 http://uliweb.clkg.org 和 uliwebzone项目 CCB
5.
Uliweb的定位 Web开发框架 解决前后端数据交互,具备一定的业务处理能力
提高开发效率,充分考虑复用的处理 提供一致的定制方式,将经验转为有效的代码 CCB
6.
Uliweb项目如何组织 APP方式,满足一定条件的python包即可 自包含:配置信息,Model,
View, 资源等 APP依赖 减少集中配置项 简化APP的安装过程,方便重用 CCB
7.
典型的目录结构 project/
apps/ settings.ini local_settings.ini app1/ templates/ static/ views.py models.py settings.ini app2/ wsgi_handler.py CCB
8.
Uliweb的配置文件处理 采用文本形式的配置文件 基本样式为:
[GLOBAL] INSTALLED_APPS = [ ‘uliweb.contrib.orm’ ] 重名变量的处理(可变的自动合并,不可变的替換) <= 强制替換 Settings.ini处理顺序: Default_settings.ini, app/settings.ini, project/settings.ini, project/local_settings.ini 提供标准的本地配置支持 CCB
9.
如何解决功能可替換?-- 配置解耦 可配置内容:APP自已的配置项,URL,BINDS,
FUNCTIONS, DECORATORS, Model 举例:FUNCTIONS [FUNCTIONS] flash = 'uliweb.contrib.flashmessage.flash‘ from uliweb import functions functions.flash(‘message’) 通过配置解决定义与使用的耦合 CCB
10.
模板与静态资源 从web2py派生出来,増加{{block}}等功能,并反
馈给了web2py 自定义Tag,包括块Block 可以直接嵌入Python代码 支持环境注入 uliweb.contrib.template提供{{use}}和{{link}} 的支持,可以方便引用一组css和js,并且支持依赖。 做到了开发和部署的分离,APP资源的复用。 模板替換—后定义的模板将覆盖在前定义的模板 find来查找 先编译后使用,可以有条件的缓存中间编译结果 CCB
11.
UliORM的演变 2008,基于geniusql开发。想基于一个基于的SQL
的库来自已封装ORM。 考查了许多的ORM库,参考了GAE的datastore库 同年,将底层代码迁移到了SQLAlchemy。不断优化: 増加OneToOne, ManyToMany, Reference关系 増加相应的命令行工具 多数库支持 短连接支持 。。。 可以自动生成管理界面,类Django Model上进行表级操作,instance上进行记录级操作 CCB
12.
可配置化ORM 提供在settings.ini中对Model进行配置
[MODELS] user = 'uliweb.contrib.auth.models.User' 在Model定义中可以使用字符串方式来引用Model 提供get_model()来获得Model类 在settings中后定义的可以替換前面定义的Model 去除象from xxx import yyy, import yyy这种 hard coding 有它使用的限制 CCB
13.
如何解决CRUD--Generic uliweb.utils.generic ListView,
AddView, EditView, DeleteView, DetailView 可以自动生成相应的界面和Form代码,支持json 配置信息可放在Model中,也可以通过参数传递 减少继承,大量使用参数和回调 django吐槽 http://lukeplant.me.uk/blog/posts/djangos-cbvs- were-a-mistake/ 对处理过程进行封装(流程) CCB
14.
Generic示例一 #coding=utf-8 from uliweb import
expose from uliweb.orm import get_model @expose('/') class BlogView(object): def __init__(self): self.model = get_model('blog') @expose('') def list(self): from uliweb.utils.generic import ListView def title(value, obj): return obj.get_url() view = ListView(self.model, fields_convert_map={'title':title}, pagination=False) return view.run() CCB
15.
Generic示例二 def add(self):
from uliweb.utils.generic import AddView def get_url(id): return url_for(BlogView.view, id=id) view = AddView(self.model, ok_url=get_url) return view.run() def view(self, id): from uliweb.utils.generic import DetailView obj = self.model.get_or_notfound(int(id)) view = DetailView(self.model, obj=obj) return view.run() CCB
16.
Generic示例三 def edit(self, id):
from uliweb.utils.generic import EditView obj = self.model.get_or_notfound(int(id)) view = EditView(self.model, ok_url=url_for(BlogView.view, id=int(id)), obj=obj) return view.run() def delete(self, id): from uliweb.utils.generic import DeleteView obj = self.model.get_or_notfound(int(id)) view = DeleteView(self.model, obj=obj, ok_url=url_for(BlogView.view, id=int(id)), use_delete_field='deleted') return view.fun() CCB
17.
未来展望 増加Admin功能,方便快速开发 重写Develop功能
増加CRUD的自动框架代码的生成 増强exportstatic的自动合并处理 加强约定化的处理,优化Generic功能 更多与前端优秀的js库进行集成 各组件的完善与扩充 完善uliwebzone项目 完善文档 CCB
18.
CCB
Jetzt herunterladen