Python论坛  - 讨论区

标题:[python-chinese] 新造了一个webapp轮子,讨论一下

2005年07月07日 星期四 10:18

lihui lihuimail at gmail.com
Thu Jul 7 10:18:55 HKT 2005

感觉到使用python对象进行webapp发布很垃圾,自已设计一个轮子,框架如下:

核心思路:利用python中函数也是对象,使用函数发布

1)集中的数据,模块管理。使用singleton模式,将底层api,环境变量,设置数据均封装在一个集中管理类中,方便访问。

2)良好的,可缓存的url。函数变量中有args,即可对url进行default处理,比如发布对象为/q/qx 可以处理q/qx/11/11.html

3)高效的模块预装。在服务启动时即可装相应的发布模块装入,提高性能。

4)方便的访问定制。对发布函数动态定义_q_access属性函数,即可实时访问控制

5)简洁的程序发布。定义函数的第一变量为集中管理类对象,通过变量即可访问底层api或dbpool,去掉了众多的import

6)方便的产品发布和集成。产品即为python模块,可通过标准程序直接发布

7)方便的调试。利用函数本身的自省功能可设计良好的debug模块

大家一起讨论一下:)


样例:
def my_access(dgn,func):
	return 'need login'

def index(dgn):
	return 'index'+str(dir(dgn))+str(dgn.get_request())
index._access=my_access #访问控制

def too(dgn,*args): #支持default
	return 'too'+str(args)

def root():
	result=index
	result.too=too
	import three
	result.three=three.root()
	return result
-- 
my gmail:lihuimail(at)gmail.com

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年07月07日 星期四 10:36

limodou limodou at gmail.com
Thu Jul 7 10:36:35 HKT 2005

在 05-7-7,lihui<lihuimail at gmail.com> 写道:
> 感觉到使用python对象进行webapp发布很垃圾,自已设计一个轮子,框架如下:

zope, cherrypy不都是这样的吗?

> 
> 核心思路:利用python中函数也是对象,使用函数发布

karrigell的.ks结构就是这样的
> 
> 1)集中的数据,模块管理。使用singleton模式,将底层api,环境变量,设置数据均封装在一个集中管理类中,方便访问。

许多web framework也是这样的,有统一的配置对象可以使用。
> 
> 2)良好的,可缓存的url。函数变量中有args,即可对url进行default处理,比如发布对象为/q/qx 可以处理q/qx/11/11.html

许多web framework可以处理索引页面,如index.html,你这样好象有多层不知是为什么?
> 
> 3)高效的模块预装。在服务启动时即可装相应的发布模块装入,提高性能。
> 
> 4)方便的访问定制。对发布函数动态定义_q_access属性函数,即可实时访问控制
> 
> 5)简洁的程序发布。定义函数的第一变量为集中管理类对象,通过变量即可访问底层api或dbpool,去掉了众多的import

对于个性化的要求,还是要自已导入模块。
> 
> 6)方便的产品发布和集成。产品即为python模块,可通过标准程序直接发布
不知道安装完放在什么地方?
> 
> 7)方便的调试。利用函数本身的自省功能可设计良好的debug模块
> 
> 大家一起讨论一下:)
> 
> 样例:
> def my_access(dgn,func):
>         return 'need login'
> 
> def index(dgn):
>         return 'index'+str(dir(dgn))+str(dgn.get_request())
> index._access=my_access #访问控制
> 
> def too(dgn,*args): #支持default
>         return 'too'+str(args)
> 
> def root():
>         result=index
>         result.too=too
>         import three
>         result.three=three.root()
>         return result

怎 么没有解释,有些象karrigell的ks,但又不完全
> --
> my gmail:lihuimail(at)gmail.com
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
I like python! 
My Donews Blog: http://www.donews.net/limodou
New Google Maillist: http://groups-beta.google.com/group/python-cn

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年07月07日 星期四 10:47

March Liu march.liu at gmail.com
Thu Jul 7 10:47:48 HKT 2005

自己造轮子其实是个很有意思的事,鼓励楼主去Wiki开个专题。

在05-7-7,limodou <limodou at gmail.com> 写道:
> 
> 在 05-7-7,lihui<lihuimail at gmail.com> 写道:
> > 感觉到使用python对象进行webapp发布很垃圾,自已设计一个轮子,框架如下:
> 
> zope, cherrypy不都是这样的吗?
> 
> >
> > 核心思路:利用python中函数也是对象,使用函数发布
> 
> karrigell的.ks结构就是这样的
> >
> > 1)集中的数据,模块管理。使用singleton模式,将底层api,环境变量,设置数据均封装在一个集中管理类中,方便访问。
> 
> 许多web framework也是这样的,有统一的配置对象可以使用。
> >
> > 2)良好的,可缓存的url。函数变量中有args,即可对url进行default处理,比如发布对象为/q/qx 
> 可以处理q/qx/11/11.html
> 
> 许多web framework可以处理索引页面,如index.html,你这样好象有多层不知是为什么?
> >
> > 3)高效的模块预装。在服务启动时即可装相应的发布模块装入,提高性能。
> >
> > 4)方便的访问定制。对发布函数动态定义_q_access属性函数,即可实时访问控制
> >
> > 5)简洁的程序发布。定义函数的第一变量为集中管理类对象,通过变量即可访问底层api或dbpool,去掉了众多的import
> 
> 对于个性化的要求,还是要自已导入模块。
> >
> > 6)方便的产品发布和集成。产品即为python模块,可通过标准程序直接发布
> 不知道安装完放在什么地方?
> >
> > 7)方便的调试。利用函数本身的自省功能可设计良好的debug模块
> >
> > 大家一起讨论一下:)
> >
> > 样例:
> > def my_access(dgn,func):
> > return 'need login'
> >
> > def index(dgn):
> > return 'index'+str(dir(dgn))+str(dgn.get_request())
> > index._access=my_access #访问控制
> >
> > def too(dgn,*args): #支持default
> > return 'too'+str(args)
> >
> > def root():
> > result=index
> > result.too=too
> > import three
> > result.three=three.root()
> > return result
> 
> 怎 么没有解释,有些象karrigell的ks,但又不完全
> > --
> > my gmail:lihuimail(at)gmail.com
> >
> > _______________________________________________
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >
> 
> 
> --
> I like python!
> My Donews Blog: http://www.donews.net/limodou
> New Google Maillist: http://groups-beta.google.com/group/python-cn
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
欢迎访问:
http://blog.csdn.net/ccat

刘鑫
March.Liu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.exoweb.net/pipermail/python-chinese/attachments/20050707/6da57c13/attachment.html

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年07月07日 星期四 10:57

epaulin epaulin at gmail.com
Thu Jul 7 10:57:00 HKT 2005

忽然想起 Into the west 的主角是造轮子的,故意为之?
估计正是这样造轮子的人多了,这才越走越远,融合印第安人,开拓加州,打败墨西哥,进而是整个西部;
楼主也要一样 :-)

On 7/7/05, March Liu <march.liu at gmail.com> wrote:
> 自己造轮子其实是个很有意思的事,鼓励楼主去Wiki开个专题。
> 
> 在05-7-7,limodou <limodou at gmail.com> 写道:
> > 
> > 在 05-7-7,lihui<lihuimail at gmail.com> 写道:
> > > 感觉到使用python对象进行webapp发布很垃圾,自已设计一个轮子,框架如下:
> > 
> > zope, cherrypy不都是这样的吗?
> > 
> > >
> > > 核心思路:利用python中函数也是对象,使用函数发布
> > 
> > karrigell的.ks结构就是这样的
> > >
> > >
> 1)集中的数据,模块管理。使用singleton模式,将底层api,环境变量,设置数据均封装在一个集中管理类中,方便访问。
> > 
> > 许多web framework也是这样的,有统一的配置对象可以使用。
> > >
> > > 2)良好的,可缓存的url。函数变量中有args,即可对url进行default处理,比如发布对象为/q/qx
> 可以处理q/qx/11/11.html 
> > 
> > 许多web framework可以处理索引页面,如index.html,你这样好象有多层不知是为什么?
> > >
> > > 3)高效的模块预装。在服务启动时即可装相应的发布模块装入,提高性能。
> > >
> > > 4)方便的访问定制。对发布函数动态定义_q_access属性函数,即可实时访问控制
> > >
> > >
> 5)简洁的程序发布。定义函数的第一变量为集中管理类对象,通过变量即可访问底层api或dbpool,去掉了众多的import
> > 
> > 对于个性化的要求,还是要自已导入模块。
> > >
> > > 6)方便的产品发布和集成。产品即为python模块,可通过标准程序直接发布
> > 不知道安装完放在什么地方?
> > >
> > > 7)方便的调试。利用函数本身的自省功能可设计良好的debug模块
> > >
> > > 大家一起讨论一下:)
> > >
> > > 样例:
> > > def my_access(dgn,func): 
> > >         return 'need login'
> > >
> > > def index(dgn):
> > >         return 'index'+str(dir(dgn))+str(dgn.get_request())
> > > index._access=my_access #访问控制
> > >
> > > def too(dgn,*args): #支持default 
> > >         return 'too'+str(args)
> > >
> > > def root():
> > >         result=index
> > >         result.too=too
> > >         import three
> > >         result.three=three.root()
> > >         return result 
> > 
> > 怎 么没有解释,有些象karrigell的ks,但又不完全
> > > --
> > > my gmail:lihuimail(at)gmail.com
> > >
> > > _______________________________________________
> > > python-chinese list
> > > python-chinese at lists.python.cn
> > > http://python.cn/mailman/listinfo/python-chinese
> > >
> > >
> > >
> > 
> > 
> > --
> > I like python!
> > My Donews Blog: http://www.donews.net/limodou
> > New Google Maillist:
> http://groups-beta.google.com/group/python-cn
> > 
> > _______________________________________________ 
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese 
> > 
> > 
> > 
> 
> 
> 
> -- 
> 欢迎访问:
> http://blog.csdn.net/ccat
> 
> 刘鑫
> March.Liu
>  
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
>

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年07月07日 星期四 11:25

lihui lihuimail at gmail.com
Thu Jul 7 11:25:17 HKT 2005

在 05-7-7,limodou<limodou at gmail.com> 写道:
> 在 05-7-7,lihui<lihuimail at gmail.com> 写道:
> > 感觉到使用python对象进行webapp发布很垃圾,自已设计一个轮子,框架如下:
> 
> zope, cherrypy不都是这样的吗?
> 

感觉面向web前端部分的python代码,是很易变的,对象还是放在中间层比较好
> >
> > 核心思路:利用python中函数也是对象,使用函数发布
> 
> karrigell的.ks结构就是这样的

对,但是增加了其它特性,(1)default的url处理,所谓default指的是将url变量放在url路径中,去掉?,使其对缓存及引挚友好,(2)权限设置,增加权限属性函数,见下my_access及index._access,方便设置访问权限,(3)数据集中管理
> >
> > 1)集中的数据,模块管理。使用singleton模式,将底层api,环境变量,设置数据均封装在一个集中管理类中,方便访问。
> 
> 许多web framework也是这样的,有统一的配置对象可以使用。
对,众多的web framework,各有各的特点,所以才想造轮子 
> >
> > 2)良好的,可缓存的url。函数变量中有args,即可对url进行default处理,比如发布对象为/q/qx 可以处理q/qx/11/11.html
> 
> 许多web framework可以处理索引页面,如index.html,你这样好象有多层不知是为什么?
见上default的定义
> >
> > 3)高效的模块预装。在服务启动时即可装相应的发布模块装入,提高性能。
> >
> > 4)方便的访问定制。对发布函数动态定义_q_access属性函数,即可实时访问控制
> >
> > 5)简洁的程序发布。定义函数的第一变量为集中管理类对象,通过变量即可访问底层api或dbpool,去掉了众多的import
> 
> 对于个性化的要求,还是要自已导入模块。
可以自已导啊,没说反对。这里是预装模块的概念,比如dbpool
> >
> > 6)方便的产品发布和集成。产品即为python模块,可通过标准程序直接发布
> 不知道安装完放在什么地方?

直接可以放在python的默认径下,使用时,象下面的result.three=three.root()
root()为接口函数,考虑再增加个初始化之类的东东,用于对产品设置
> >
> > 7)方便的调试。利用函数本身的自省功能可设计良好的debug模块
> >
> > 大家一起讨论一下:)
> >
> > 样例:
> > def my_access(dgn,func):
> >         return 'need login'
> >
> > def index(dgn):
> >         return 'index'+str(dir(dgn))+str(dgn.get_request())
> > index._access=my_access #访问控制
> >
> > def too(dgn,*args): #支持default
> >         return 'too'+str(args)
> >
> > def root():
> >         result=index
> >         result.too=too
> >         import three
> >         result.three=three.root()
> >         return result
> 
> 怎 么没有解释,有些象karrigell的ks,但又不完全
这里简单地写了一下想法,只是个"hello world"
> > --
> > my gmail:lihuimail(at)gmail.com
> >
> > _______________________________________________
> > python-chinese list
> > python-chinese at lists.python.cn
> > http://python.cn/mailman/listinfo/python-chinese
> >
> >
> >
> 
> 
> --
> I like python!
> My Donews Blog: http://www.donews.net/limodou
> New Google Maillist: http://groups-beta.google.com/group/python-cn
> 
> _______________________________________________
> python-chinese list
> python-chinese at lists.python.cn
> http://python.cn/mailman/listinfo/python-chinese
> 
> 
> 


-- 
my gmail:lihuimail(at)gmail.com

[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号