2005年06月11日 星期六 13:22
快到暑假, 我打算继续babywork的开发, 这次准备选用一个好的模版系统, 看到riverfor在wiki上推荐ClearSilver, google了一下貌似是个很不错的系统. python解决问题时有很多选择, 在模版系统和web框架上就是如此. 所以就此开贴一起讨论python中好的模版系统和好的web框架. 我就先抛砖引玉了: babywork的构架 框架+模版: 纯mod_python的publisher构架, 模版系统是mod_python自带的psp. 特点简单, 功能比较弱, 但因为是mod_python的原生系统, 知道得人比较多. publisher构架其实是ZOPE的publisher的简化版, 功能也很一般(可能不支持中文地址,没测试过, 从印象中是的). psp则更是一个非常原始的模版系统, 他将psp模版转换成python程序, 然后执行之. Moin的构架: 基于request的构架: Moin的基础是一个封装过的request系统, 这种封装屏蔽了moin自身提供的standalone服务, twisted和mod_python, python_cgi等等模式提供的request的区别. 在这个统一的request框架下, Moin将requset交给对应的模块处理, 在呈现方面, formater插件处理, 特殊的东西由parser, processor, macro等. Moin的异常处理机制也很有特色, 他充分利用了python的异常系统, 最终能将异常完整漂亮得展现到页面上. Moin的构架可以说是自成体系的, 很不错, 但是不适合其他应用. Zope2, Zope3, 我不太了解, 请大家一起来讨论. ___________________________________________________________ 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 http://cn.mail.yahoo.com/?id=77071
2005年06月11日 星期六 16:30
不是 MCV 格局比较好哪? 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封装的! 一切从需求引发! MoinMoin 因为是对实际的文本文件进行处理, 所以演化成了现在这样, babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要求高些? 而实际的数据操作是非常单纯的, 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成的! 当初为了 Otter 我们都写出了几种模板系统哪!! 最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化功能就可以了!类似: == 简要模板 == * 高级 字串格式化替换 * locals() 将当前运行空间中的所有对象以字典方式转换出来 可以使用 %(varName)s 的模式进行字串替换 * 这样一来就形成了一个天然的模板系统 * 比如说模板文件 ask-item.php {{{ %(ppqitem)s }}} * 使用时,就是读入,然后替换文件,组织,输出为其它文件 * 比如说 {{{#!python ff = open("paper.php","w") exp = "" template = open(ask-item.php,"r").read() for item in question: ppqvar = item[1][0] ppqitem = item[1][1] exp +=template%locals() ff.write(exp) }}} * 其中 '''question''' 是一个结构化数据对象 * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换字串声明匹配的对象值替换入! 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > 快到暑假, 我打算继续babywork的开发, > 这次准备选用一个好的模版系统, > 看到riverfor在wiki上推荐ClearSilver, > google了一下貌似是个很不错的系统. > > python解决问题时有很多选择, > 在模版系统和web框架上就是如此. > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > 我就先抛砖引玉了: > babywork的构架 > 框架+模版: > 纯mod_python的publisher构架, > 模版系统是mod_python自带的psp. > > 特点简单, 功能比较弱, 但因为是mod_python的原生系统, > 知道得人比较多. > publisher构架其实是ZOPE的publisher的简化版, > 功能也很一般(可能不支持中文地址,没测试过, > 从印象中是的). > psp则更是一个非常原始的模版系统, > 他将psp模版转换成python程序, 然后执行之. > > Moin的构架: > > 基于request的构架: > Moin的基础是一个封装过的request系统, > 这种封装屏蔽了moin自身提供的standalone服务, > twisted和mod_python, > python_cgi等等模式提供的request的区别. > 在这个统一的request框架下, > Moin将requset交给对应的模块处理, 在呈现方面, > formater插件处理, 特殊的东西由parser, processor, > macro等. Moin的异常处理机制也很有特色, > 他充分利用了python的异常系统, > 最终能将异常完整漂亮得展现到页面上. > Moin的构架可以说是自成体系的, 很不错, > 但是不适合其他应用. > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > ___________________________________________________________ > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > http://cn.mail.yahoo.com/?id=77071 > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- [Time is unimportant, only life important!]
2005年06月11日 星期六 21:41
zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板系统有所区别。 在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > 不是 MCV 格局比较好哪? > > 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封装的! > 一切从需求引发! > MoinMoin 因为是对实际的文本文件进行处理, > 所以演化成了现在这样, > > babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要求高些? > 而实际的数据操作是非常单纯的, > 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成的! > 当初为了 Otter 我们都写出了几种模板系统哪!! > > 最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化功能就可以了!类似: > > == 简要模板 == > * 高级 字串格式化替换 > * locals() 将当前运行空间中的所有对象以字典方式转换出来 > 可以使用 %(varName)s 的模式进行字串替换 > * 这样一来就形成了一个天然的模板系统 > * 比如说模板文件 ask-item.php > > {{{ > > > %(ppqitem)s > }}} > > * 使用时,就是读入,然后替换文件,组织,输出为其它文件 > * 比如说 > > {{{#!python > ff = open("paper.php","w") > exp = "" > template = open(ask-item.php,"r").read() > for item in question: > ppqvar = item[1][0] > ppqitem = item[1][1] > exp +=template%locals() > ff.write(exp) > }}} > > * 其中 '''question''' 是一个结构化数据对象 > * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换字串声明匹配的对象值替换入! > > 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > > 快到暑假, 我打算继续babywork的开发, > > 这次准备选用一个好的模版系统, > > 看到riverfor在wiki上推荐ClearSilver, > > google了一下貌似是个很不错的系统. > > > > python解决问题时有很多选择, > > 在模版系统和web框架上就是如此. > > > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > > > 我就先抛砖引玉了: > > babywork的构架 > > 框架+模版: > > 纯mod_python的publisher构架, > > 模版系统是mod_python自带的psp. > > > > 特点简单, 功能比较弱, 但因为是mod_python的原生系统, > > 知道得人比较多. > > publisher构架其实是ZOPE的publisher的简化版, > > 功能也很一般(可能不支持中文地址,没测试过, > > 从印象中是的). > > psp则更是一个非常原始的模版系统, > > 他将psp模版转换成python程序, 然后执行之. > > > > Moin的构架: > > > > 基于request的构架: > > Moin的基础是一个封装过的request系统, > > 这种封装屏蔽了moin自身提供的standalone服务, > > twisted和mod_python, > > python_cgi等等模式提供的request的区别. > > 在这个统一的request框架下, > > Moin将requset交给对应的模块处理, 在呈现方面, > > formater插件处理, 特殊的东西由parser, processor, > > macro等. Moin的异常处理机制也很有特色, > > 他充分利用了python的异常系统, > > 最终能将异常完整漂亮得展现到页面上. > > Moin的构架可以说是自成体系的, 很不错, > > 但是不适合其他应用. > > > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > > > ___________________________________________________________ > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > http://cn.mail.yahoo.com/?id=77071 > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > > > > -- > [Time is unimportant, only life important!] > > _______________________________________________ > 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
2005年06月12日 星期日 14:55
zpt的确是很不错的东西, 而且还有项目可以将zpt抽出zope单独使用, 非常不错。 其实模版的选择和web框架的选择是离不开的, 我对ZOPE3不太了解, 好像他提供了非常多的库, 都可以抽出来单独使用。 Zope对一般的应用来说太庞大了, 不只是否可以只用一些zope库? zoomq给的方法的确简便啊, 不错的办法。 再学习学习~~~~ --- limodou <limodou at gmail.com>写道: > zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > > 正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板系统有所区别。 > > 在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > > 不是 MCV 格局比较好哪? > > > > > 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封装的! > > 一切从需求引发! > > MoinMoin 因为是对实际的文本文件进行处理, > > 所以演化成了现在这样, > > > > babywork > 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要求高些? > > 而实际的数据操作是非常单纯的, > > > 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成的! > > 当初为了 Otter 我们都写出了几种模板系统哪!! > > > > 最近为了写一个问卷生产系统,才发现直接使用Python > 自个儿的字串格式化功能就可以了!类似: > > > > == 简要模板 == > > * 高级 字串格式化替换 > > * locals() > 将当前运行空间中的所有对象以字典方式转换出来 > > 可以使用 %(varName)s 的模式进行字串替换 > > * 这样一来就形成了一个天然的模板系统 > > * 比如说模板文件 ask-item.php > > > > {{{ > > > > > value="%(ppqvar)s"> > > %(ppqitem)s > > }}} > > > > * > 使用时,就是读入,然后替换文件,组织,输出为其它文件 > > * 比如说 > > > > {{{#!python > > ff = open("paper.php","w") > > exp = "" > > template = open(ask-item.php,"r").read() > > for item in question: > > ppqvar = item[1][0] > > ppqitem = item[1][1] > > exp +=template%locals() > > ff.write(exp) > > }}} > > > > * 其中 '''question''' 是一个结构化数据对象 > > * 在循环中,'''locals()''' > 会自动将当前环境对象中与模板字串中替换字串声明匹配的对象值替换入! > > > > 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> > 写道: > > > 快到暑假, 我打算继续babywork的开发, > > > 这次准备选用一个好的模版系统, > > > 看到riverfor在wiki上推荐ClearSilver, > > > google了一下貌似是个很不错的系统. > > > > > > python解决问题时有很多选择, > > > 在模版系统和web框架上就是如此. > > > > > > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > > > > > 我就先抛砖引玉了: > > > babywork的构架 > > > 框架+模版: > > > 纯mod_python的publisher构架, > > > 模版系统是mod_python自带的psp. > > > > > > 特点简单, 功能比较弱, > 但因为是mod_python的原生系统, > > > 知道得人比较多. > > > publisher构架其实是ZOPE的publisher的简化版, > > > 功能也很一般(可能不支持中文地址,没测试过, > > > 从印象中是的). > > > psp则更是一个非常原始的模版系统, > > > 他将psp模版转换成python程序, 然后执行之. > > > > > > Moin的构架: > > > > > > 基于request的构架: > > > Moin的基础是一个封装过的request系统, > > > 这种封装屏蔽了moin自身提供的standalone服务, > > > twisted和mod_python, > > > python_cgi等等模式提供的request的区别. > > > 在这个统一的request框架下, > > > Moin将requset交给对应的模块处理, 在呈现方面, > > > formater插件处理, 特殊的东西由parser, processor, > > > macro等. Moin的异常处理机制也很有特色, > > > 他充分利用了python的异常系统, > > > 最终能将异常完整漂亮得展现到页面上. > > > Moin的构架可以说是自成体系的, 很不错, > > > 但是不适合其他应用. > > > > > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > > > > > > ___________________________________________________________ > > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > > http://cn.mail.yahoo.com/?id=77071 > > > > > > _______________________________________________ > > > python-chinese list > > > python-chinese at lists.python.cn > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > -- > > [Time is unimportant, only life important!] > > > > _______________________________________________ > > 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 > ___________________________________________________________ 雅虎免费G邮箱-中国最强免费防毒反垃圾超大邮箱 http://cn.mail.yahoo.com/?id=77072
2005年06月12日 星期日 16:49
是从CherryPy 受到的启发,所谓 CherryTemplet 也是如此进行的, 模板嘛! 就是数据,展示分离,怎么样结合,是随便你的………… 相互学习是也乎 那个类模板的应用是出自 http://wiki.woodpecker.org.cn/moin/EasyPaper 是也乎 还是 xyb 指点下想到的 在 05-6-12,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > zpt的确是很不错的东西, > 而且还有项目可以将zpt抽出zope单独使用, 非常不错。 > > 其实模版的选择和web框架的选择是离不开的, > 我对ZOPE3不太了解, 好像他提供了非常多的库, > 都可以抽出来单独使用。 Zope对一般的应用来说太庞大了, > 不只是否可以只用一些zope库? > > zoomq给的方法的确简便啊, 不错的办法。 > > 再学习学习~~~~ > > --- limodou <limodou at gmail.com>写道: > > > > zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > > > > > 正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板系统有所区别。 > > > > 在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > > > 不是 MCV 格局比较好哪? > > > > > > > > > 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封装的! > > > 一切从需求引发! > > > MoinMoin 因为是对实际的文本文件进行处理, > > > 所以演化成了现在这样, > > > > > > babywork > > > 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要求高些? > > > 而实际的数据操作是非常单纯的, > > > > > > 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成的! > > > 当初为了 Otter 我们都写出了几种模板系统哪!! > > > > > > 最近为了写一个问卷生产系统,才发现直接使用Python > > 自个儿的字串格式化功能就可以了!类似: > > > > > > == 简要模板 == > > > * 高级 字串格式化替换 > > > * locals() > > 将当前运行空间中的所有对象以字典方式转换出来 > > > 可以使用 %(varName)s 的模式进行字串替换 > > > * 这样一来就形成了一个天然的模板系统 > > > * 比如说模板文件 ask-item.php > > > > > > {{{ > > > > > > > > value="%(ppqvar)s"> > > > %(ppqitem)s > > > }}} > > > > > > * > > 使用时,就是读入,然后替换文件,组织,输出为其它文件 > > > * 比如说 > > > > > > {{{#!python > > > ff = open("paper.php","w") > > > exp = "" > > > template = open(ask-item.php,"r").read() > > > for item in question: > > > ppqvar = item[1][0] > > > ppqitem = item[1][1] > > > exp +=template%locals() > > > ff.write(exp) > > > }}} > > > > > > * 其中 '''question''' 是一个结构化数据对象 > > > * 在循环中,'''locals()''' > > > 会自动将当前环境对象中与模板字串中替换字串声明匹配的对象值替换入! > > > > > > 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> > > 写道: > > > > 快到暑假, 我打算继续babywork的开发, > > > > 这次准备选用一个好的模版系统, > > > > 看到riverfor在wiki上推荐ClearSilver, > > > > google了一下貌似是个很不错的系统. > > > > > > > > python解决问题时有很多选择, > > > > 在模版系统和web框架上就是如此. > > > > > > > > > > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > > > > > > > 我就先抛砖引玉了: > > > > babywork的构架 > > > > 框架+模版: > > > > 纯mod_python的publisher构架, > > > > 模版系统是mod_python自带的psp. > > > > > > > > 特点简单, 功能比较弱, > > 但因为是mod_python的原生系统, > > > > 知道得人比较多. > > > > publisher构架其实是ZOPE的publisher的简化版, > > > > 功能也很一般(可能不支持中文地址,没测试过, > > > > 从印象中是的). > > > > psp则更是一个非常原始的模版系统, > > > > 他将psp模版转换成python程序, 然后执行之. > > > > > > > > Moin的构架: > > > > > > > > 基于request的构架: > > > > Moin的基础是一个封装过的request系统, > > > > 这种封装屏蔽了moin自身提供的standalone服务, > > > > twisted和mod_python, > > > > python_cgi等等模式提供的request的区别. > > > > 在这个统一的request框架下, > > > > Moin将requset交给对应的模块处理, 在呈现方面, > > > > formater插件处理, 特殊的东西由parser, processor, > > > > macro等. Moin的异常处理机制也很有特色, > > > > 他充分利用了python的异常系统, > > > > 最终能将异常完整漂亮得展现到页面上. > > > > Moin的构架可以说是自成体系的, 很不错, > > > > 但是不适合其他应用. > > > > > > > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > > > > > > > > > > ___________________________________________________________ > > > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > > > http://cn.mail.yahoo.com/?id=77071 > > > > > > > > _______________________________________________ > > > > python-chinese list > > > > python-chinese at lists.python.cn > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > -- > > > [Time is unimportant, only life important!] > > > > > > _______________________________________________ > > > 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 > > > > > ___________________________________________________________ > 雅虎免费G邮箱-中国最强免费防毒反垃圾超大邮箱 > http://cn.mail.yahoo.com/?id=77072 > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese > -- [Time is unimportant, only life important!]
2005年06月14日 星期二 17:50
我现在就是使用Cheetah作为模板系统,把Business Object作为数据传递给Cheetah的模板解释器。然后自己使用CGI来处理Request/Response。 使用Cheetah的原因是它的用户群最大,并且作者Mike Orr是我的好朋友; 使用CGI,而不用ZOPE或者WebWare的原因是我的网页数量少,但是定制化的要求比较高。 不知道大家都怎么做的。 董洵 On 6/11/05, limodou <limodou at gmail.com> wrote: > zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > > 正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板系统有所区别。 > > 在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > > 不是 MCV 格局比较好哪? > > > > 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封装的! > > 一切从需求引发! > > MoinMoin 因为是对实际的文本文件进行处理, > > 所以演化成了现在这样, > > > > babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要求高些? > > 而实际的数据操作是非常单纯的, > > 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成的! > > 当初为了 Otter 我们都写出了几种模板系统哪!! > > > > 最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化功能就可以了!类似: > > > > == 简要模板 == > > * 高级 字串格式化替换 > > * locals() 将当前运行空间中的所有对象以字典方式转换出来 > > 可以使用 %(varName)s 的模式进行字串替换 > > * 这样一来就形成了一个天然的模板系统 > > * 比如说模板文件 ask-item.php > > > > {{{ > > > > > > %(ppqitem)s > > }}} > > > > * 使用时,就是读入,然后替换文件,组织,输出为其它文件 > > * 比如说 > > > > {{{#!python > > ff = open("paper.php","w") > > exp = "" > > template = open(ask-item.php,"r").read() > > for item in question: > > ppqvar = item[1][0] > > ppqitem = item[1][1] > > exp +=template%locals() > > ff.write(exp) > > }}} > > > > * 其中 '''question''' 是一个结构化数据对象 > > * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换字串声明匹配的对象值替换入! > > > > 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > > > 快到暑假, 我打算继续babywork的开发, > > > 这次准备选用一个好的模版系统, > > > 看到riverfor在wiki上推荐ClearSilver, > > > google了一下貌似是个很不错的系统. > > > > > > python解决问题时有很多选择, > > > 在模版系统和web框架上就是如此. > > > > > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > > > > > 我就先抛砖引玉了: > > > babywork的构架 > > > 框架+模版: > > > 纯mod_python的publisher构架, > > > 模版系统是mod_python自带的psp. > > > > > > 特点简单, 功能比较弱, 但因为是mod_python的原生系统, > > > 知道得人比较多. > > > publisher构架其实是ZOPE的publisher的简化版, > > > 功能也很一般(可能不支持中文地址,没测试过, > > > 从印象中是的). > > > psp则更是一个非常原始的模版系统, > > > 他将psp模版转换成python程序, 然后执行之. > > > > > > Moin的构架: > > > > > > 基于request的构架: > > > Moin的基础是一个封装过的request系统, > > > 这种封装屏蔽了moin自身提供的standalone服务, > > > twisted和mod_python, > > > python_cgi等等模式提供的request的区别. > > > 在这个统一的request框架下, > > > Moin将requset交给对应的模块处理, 在呈现方面, > > > formater插件处理, 特殊的东西由parser, processor, > > > macro等. Moin的异常处理机制也很有特色, > > > 他充分利用了python的异常系统, > > > 最终能将异常完整漂亮得展现到页面上. > > > Moin的构架可以说是自成体系的, 很不错, > > > 但是不适合其他应用. > > > > > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > > > > > ___________________________________________________________ > > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > > http://cn.mail.yahoo.com/?id=77071 > > > > > > _______________________________________________ > > > python-chinese list > > > python-chinese at lists.python.cn > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > -- > > [Time is unimportant, only life important!] > > > > _______________________________________________ > > 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 > > >
2005年06月14日 星期二 19:31
zope和moin的区别 ,优缺点分别是什么? 在 2005-06-14 二 的 17:50, Alex Dong 写道: > 我现在就是使用Cheetah作为模板系统,把Business > Object作为数据传递给Cheetah的模板解释器。然后自己使用CGI来处理Request/Response。 > > 使用Cheetah的原因是它的用户群最大,并且作者Mike Orr是我的好朋友; > 使用CGI,而不用ZOPE或者WebWare的原因是我的网页数量少,但是定制化的要求比较高。 > > 不知道大家都怎么做的。 > > 董洵 > > On 6/11/05, limodou <limodou at gmail.com> wrote: > > zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > > > > 正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板系统有所区别。 > > > > 在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > > > 不是 MCV 格局比较好哪? > > > > > > 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封装的! > > > 一切从需求引发! > > > MoinMoin 因为是对实际的文本文件进行处理, > > > 所以演化成了现在这样, > > > > > > babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要求高些? > > > 而实际的数据操作是非常单纯的, > > > 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成的! > > > 当初为了 Otter 我们都写出了几种模板系统哪!! > > > > > > 最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化功能就可以了!类似: > > > > > > == 简要模板 == > > > * 高级 字串格式化替换 > > > * locals() 将当前运行空间中的所有对象以字典方式转换出来 > > > 可以使用 %(varName)s 的模式进行字串替换 > > > * 这样一来就形成了一个天然的模板系统 > > > * 比如说模板文件 ask-item.php > > > > > > {{{ > > > > > > > > > %(ppqitem)s > > > }}} > > > > > > * 使用时,就是读入,然后替换文件,组织,输出为其它文件 > > > * 比如说 > > > > > > {{{#!python > > > ff = open("paper.php","w") > > > exp = "" > > > template = open(ask-item.php,"r").read() > > > for item in question: > > > ppqvar = item[1][0] > > > ppqitem = item[1][1] > > > exp +=template%locals() > > > ff.write(exp) > > > }}} > > > > > > * 其中 '''question''' 是一个结构化数据对象 > > > * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换字串声明匹配的对象值替换入! > > > > > > 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > > > > 快到暑假, 我打算继续babywork的开发, > > > > 这次准备选用一个好的模版系统, > > > > 看到riverfor在wiki上推荐ClearSilver, > > > > google了一下貌似是个很不错的系统. > > > > > > > > python解决问题时有很多选择, > > > > 在模版系统和web框架上就是如此. > > > > > > > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > > > > > > > 我就先抛砖引玉了: > > > > babywork的构架 > > > > 框架+模版: > > > > 纯mod_python的publisher构架, > > > > 模版系统是mod_python自带的psp. > > > > > > > > 特点简单, 功能比较弱, 但因为是mod_python的原生系统, > > > > 知道得人比较多. > > > > publisher构架其实是ZOPE的publisher的简化版, > > > > 功能也很一般(可能不支持中文地址,没测试过, > > > > 从印象中是的). > > > > psp则更是一个非常原始的模版系统, > > > > 他将psp模版转换成python程序, 然后执行之. > > > > > > > > Moin的构架: > > > > > > > > 基于request的构架: > > > > Moin的基础是一个封装过的request系统, > > > > 这种封装屏蔽了moin自身提供的standalone服务, > > > > twisted和mod_python, > > > > python_cgi等等模式提供的request的区别. > > > > 在这个统一的request框架下, > > > > Moin将requset交给对应的模块处理, 在呈现方面, > > > > formater插件处理, 特殊的东西由parser, processor, > > > > macro等. Moin的异常处理机制也很有特色, > > > > 他充分利用了python的异常系统, > > > > 最终能将异常完整漂亮得展现到页面上. > > > > Moin的构架可以说是自成体系的, 很不错, > > > > 但是不适合其他应用. > > > > > > > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > > > > > > > ___________________________________________________________ > > > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > > > http://cn.mail.yahoo.com/?id=77071 > > > > > > > > _______________________________________________ > > > > python-chinese list > > > > python-chinese at lists.python.cn > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > -- > > > [Time is unimportant, only life important!] > > > > > > _______________________________________________ > > > 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 > > > > > > > > ______________________________________________________________________ > > _______________________________________________ > python-chinese list > python-chinese at lists.python.cn > http://python.cn/mailman/listinfo/python-chinese --
2005年06月14日 星期二 20:59
zope是一个应用服务器。而moin是一个wiki系统。不是一个种类的东西。 在 14 Jun 2005 19:31:14 +0800,baoyongjun<byj at net.pku.edu.cn> 写道: > zope和moin的区别 ,优缺点分别是什么? > > 在 2005-06-14 二 的 17:50, Alex Dong 写道: > > 我现在就是使用Cheetah作为模板系统,把Business > > Object作为数据传递给Cheetah的模板解释器。然后自己使用CGI来处理Request/Response。 > > > > 使用Cheetah的原因是它的用户群最大,并且作者Mike Orr是我的好朋友; > > 使用CGI,而不用ZOPE或者WebWare的原因是我的网页数量少,但是定制化的要求比较高。 > > > > 不知道大家都怎么做的。 > > > > 董洵 > > > > On 6/11/05, limodou <limodou at gmail.com> wrote: > > > zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > > > > > > 正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板系统有所区别。 > > > > > > 在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > > > > 不是 MCV 格局比较好哪? > > > > > > > > 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封装的! > > > > 一切从需求引发! > > > > MoinMoin 因为是对实际的文本文件进行处理, > > > > 所以演化成了现在这样, > > > > > > > > babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要求高些? > > > > 而实际的数据操作是非常单纯的, > > > > 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成的! > > > > 当初为了 Otter 我们都写出了几种模板系统哪!! > > > > > > > > 最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化功能就可以了!类似: > > > > > > > > == 简要模板 == > > > > * 高级 字串格式化替换 > > > > * locals() 将当前运行空间中的所有对象以字典方式转换出来 > > > > 可以使用 %(varName)s 的模式进行字串替换 > > > > * 这样一来就形成了一个天然的模板系统 > > > > * 比如说模板文件 ask-item.php > > > > > > > > {{{ > > > > > > > > > > > > %(ppqitem)s > > > > }}} > > > > > > > > * 使用时,就是读入,然后替换文件,组织,输出为其它文件 > > > > * 比如说 > > > > > > > > {{{#!python > > > > ff = open("paper.php","w") > > > > exp = "" > > > > template = open(ask-item.php,"r").read() > > > > for item in question: > > > > ppqvar = item[1][0] > > > > ppqitem = item[1][1] > > > > exp +=template%locals() > > > > ff.write(exp) > > > > }}} > > > > > > > > * 其中 '''question''' 是一个结构化数据对象 > > > > * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换字串声明匹配的对象值替换入! > > > > > > > > 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > > > > > 快到暑假, 我打算继续babywork的开发, > > > > > 这次准备选用一个好的模版系统, > > > > > 看到riverfor在wiki上推荐ClearSilver, > > > > > google了一下貌似是个很不错的系统. > > > > > > > > > > python解决问题时有很多选择, > > > > > 在模版系统和web框架上就是如此. > > > > > > > > > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > > > > > > > > > 我就先抛砖引玉了: > > > > > babywork的构架 > > > > > 框架+模版: > > > > > 纯mod_python的publisher构架, > > > > > 模版系统是mod_python自带的psp. > > > > > > > > > > 特点简单, 功能比较弱, 但因为是mod_python的原生系统, > > > > > 知道得人比较多. > > > > > publisher构架其实是ZOPE的publisher的简化版, > > > > > 功能也很一般(可能不支持中文地址,没测试过, > > > > > 从印象中是的). > > > > > psp则更是一个非常原始的模版系统, > > > > > 他将psp模版转换成python程序, 然后执行之. > > > > > > > > > > Moin的构架: > > > > > > > > > > 基于request的构架: > > > > > Moin的基础是一个封装过的request系统, > > > > > 这种封装屏蔽了moin自身提供的standalone服务, > > > > > twisted和mod_python, > > > > > python_cgi等等模式提供的request的区别. > > > > > 在这个统一的request框架下, > > > > > Moin将requset交给对应的模块处理, 在呈现方面, > > > > > formater插件处理, 特殊的东西由parser, processor, > > > > > macro等. Moin的异常处理机制也很有特色, > > > > > 他充分利用了python的异常系统, > > > > > 最终能将异常完整漂亮得展现到页面上. > > > > > Moin的构架可以说是自成体系的, 很不错, > > > > > 但是不适合其他应用. > > > > > > > > > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > > > > > > > > > ___________________________________________________________ > > > > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > > > > http://cn.mail.yahoo.com/?id=77071 > > > > > > > > > > _______________________________________________ > > > > > python-chinese list > > > > > python-chinese at lists.python.cn > > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > -- > > > > [Time is unimportant, only life important!] > > > > > > > > _______________________________________________ > > > > 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 > > > > > > > > > > > > > ______________________________________________________________________ > > > > _______________________________________________ > > python-chinese list > > python-chinese at lists.python.cn > > http://python.cn/mailman/listinfo/python-chinese > -- > > _______________________________________________ > 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
2005年06月14日 星期二 22:54
ÍƼö twisted & python web kit limodou wrote: >zopeÊÇÒ»¸öÓ¦Ó÷þÎñÆ÷¡£¶ømoinÊÇÒ»¸öwikiϵͳ¡£²»ÊÇÒ»¸öÖÖÀàµÄ¶«Î÷¡£ > >ÔÚ 14 Jun 2005 19:31:14 +0800£¬baoyongjun<byj at net.pku.edu.cn> дµÀ£º > > >>zopeºÍmoinµÄÇø±ð ,ÓÅȱµã·Ö±ðÊÇʲô? >> >>ÔÚ 2005-06-14 ¶þ µÄ 17:50£¬ Alex Dong дµÀ£º >> >> >>>ÎÒÏÖÔÚ¾ÍÊÇʹÓÃCheetah×÷Ϊģ°åϵͳ£¬°ÑBusiness >>>Object×÷ΪÊý¾Ý´«µÝ¸øCheetahµÄÄ£°å½âÊÍÆ÷¡£È»ºó×Ô¼ºÊ¹ÓÃCGIÀ´´¦ÀíRequest/Response¡£ >>> >>>ʹÓÃCheetahµÄÔÒòÊÇËüµÄÓû§Èº×î´ó£¬²¢ÇÒ×÷ÕßMike OrrÊÇÎҵĺÃÅóÓÑ£» >>>ʹÓÃCGI£¬¶ø²»ÓÃZOPE»òÕßWebWareµÄÔÒòÊÇÎÒµÄÍøÒ³ÊýÁ¿ÉÙ£¬µ«ÊǶ¨ÖÆ»¯µÄÒªÇó±È½Ï¸ß¡£ >>> >>>²»ÖªµÀ´ó¼Ò¶¼Ôõô×öµÄ¡£ >>> >>>¶ä >>> >>>On 6/11/05, limodou <limodou at gmail.com> wrote: >>> >>> >>>>zopeËù´øµÄzptºÃÏó²»´í£¬µ±È»ÊÇÓÐЩ¸´ÔÓ£¬¶øÇÒÊÇÖ»Õë¶ÔhtmlÎĵµµÄ¡£²»¹ýroundupºÃÏó¾ÍʹÓÃÁËËü£¬¼ÇµÃÔÚpypiÉÏÓйØÃŵÄzptµÄ¶ÀÁ¢µÄ°ü¡£ >>>> >>>>ÕýÈçzoomquietËù˵£¬·ûºÏÒªÇó¾ÍÊǺõġ£µ±È»¿¼Âǵ½À©Õ¹ÐÔ¿ÉÄÜ»áÓÐÓ°Ïì¡£Èç¹ûÊÇ´¿Êý¾ÝÇý¶¯£¬ÏóÎÒÒÔǰдµÄmeteorÄ£¿éϵͳҲÊÇÒ»ÖÖÑ¡Ôñ¡£Èç¹ûÏëʵÏÖ¸´ÔÓµÄÂß¼£¬ÏózptºÍÆäËüµÄÄ£¿éϵͳ¶¼¿ÉÒÔ¡£²»¹ýÐû´«Ò»Ï£¬meteorÊÇÒ»ÖÖͨÓõÄÄ£¿éϵͳ£¬²»ÊÇÖ»Õë¶ÔhtmlµÄ£¬¶øÇÒÓÉÓÚÏà¶Ô¼òµ¥À©Õ¹Ò²·½±ã£¬²»¹ýËüÊÇÊý¾ÝÇý¶¯µÄ£¬ÓëÒ»°ãµÄÄ£°åϵͳÓÐËùÇø±ð¡£ >>>> >>>>ÔÚ 05-6-11£¬Zoom Quiet<zoom.quiet at gmail.com> дµÀ£º >>>> >>>> >>>>>²»ÊÇ MCV ¸ñ¾Ö±È½ÏºÃÄÄ£¿ >>>>> >>>>>ºÃµÄCMSϵͳ¶¼ÊǾ¡¿ÉÄܵĽ«¸÷ÖÖ¾ßÌåµÄÊý¾Ý²Ù×÷ʹÓÃÐéÄâµÄ²Ù×÷·þÎñ²ãÀ´·â×°µÄ£¡ >>>>>Ò»ÇдÓÐèÇóÒý·¢£¡ >>>>>MoinMoin ÒòΪÊǶÔʵ¼ÊµÄÎı¾Îļþ½øÐд¦Àí£¬ >>>>>ËùÒÔÑÝ»¯³ÉÁËÏÖÔÚÕâÑù£¬ >>>>> >>>>>babywork Ó¦¸Ã˵ÊDZȽϵ¥´¿µÄÎļþ¹ÜÀíϵͳ,ÒòΪÐÐÒµµÄ¹Øϵ£¬Ò³ÃæÃÀ¹ÛÒªÇó¸ßЩ£¿ >>>>>¶øʵ¼ÊµÄÊý¾Ý²Ù×÷ÊǷdz£µ¥´¿µÄ£¬ >>>>>ÄÇ䣬²»ÓùÜʲôÏÖÓеÄÄ£°åϵͳ£¬Èç¹ûÄ¿±êÃ÷È·£¬×Ô¸ö¶ù¿ª·¢Ò»¸ö¶¼³ÉµÄ£¡ >>>>>µ±³õΪÁË Otter ÎÒÃǶ¼Ð´³öÁ˼¸ÖÖÄ£°åϵͳÄÄ£¡£¡ >>>>> >>>>>×î½üΪÁËдһ¸öÎʾíÉú²úϵͳ£¬²Å·¢ÏÖÖ±½ÓʹÓÃPython ×Ô¸ö¶ùµÄ×Ö´®¸ñʽ»¯¹¦ÄܾͿÉÒÔÁË£¡ÀàËÆ: >>>>> >>>>>== ¼òҪģ°å == >>>>> * ¸ß¼¶ ×Ö´®¸ñʽ»¯Ìæ»» >>>>> * locals() ½«µ±Ç°ÔËÐпռäÖеÄËùÓжÔÏóÒÔ×ֵ䷽ʽת»»³öÀ´ >>>>>¿ÉÒÔʹÓà %(varName)s µÄģʽ½øÐÐ×Ö´®Ìæ»» >>>>> * ÕâÑùÒ»À´¾ÍÐγÉÁËÒ»¸öÌìÈ»µÄÄ£°åϵͳ >>>>> * ±ÈÈç˵ģ°åÎļþ ask-item.php >>>>> >>>>>{{{ >>>>> >>>>> >>>>>%(ppqitem)s >>>>>}}} >>>>> >>>>> * ʹÓÃʱ£¬¾ÍÊǶÁÈ룬ȻºóÌæ»»Îļþ£¬×éÖ¯£¬Êä³öΪÆäËüÎļþ >>>>> * ±ÈÈç˵ >>>>> >>>>>{{{#!python >>>>>ff = open("paper.php","w") >>>>>exp = "" >>>>>template = open(ask-item.php,"r").read() >>>>>for item in question: >>>>> ppqvar = item[1][0] >>>>> ppqitem = item[1][1] >>>>> exp +=template%locals() >>>>>ff.write(exp) >>>>>}}} >>>>> >>>>> * ÆäÖÐ '''question''' ÊÇÒ»¸ö½á¹¹»¯Êý¾Ý¶ÔÏó >>>>> * ÔÚÑ»·ÖУ¬'''locals()''' »á×Ô¶¯½«µ±Ç°»·¾³¶ÔÏóÖÐÓëÄ£°å×Ö´®ÖÐÌæ»»×Ö´®ÉùÃ÷Æ¥ÅäµÄ¶ÔÏóÖµÌæ»»È룡 >>>>> >>>>>ÔÚ 05-6-11£¬Hoxide Ma<hoxide_dirac at yahoo.com.cn> дµÀ£º >>>>> >>>>> >>>>>>¿ìµ½Êî¼Ù, ÎÒ´òËã¼ÌÐøbabyworkµÄ¿ª·¢, >>>>>>Õâ´Î×¼±¸Ñ¡ÓÃÒ»¸öºÃµÄÄ£°æϵͳ, >>>>>>¿´µ½riverforÔÚwikiÉÏÍƼöClearSilver, >>>>>>googleÁËÒ»ÏÂòËÆÊǸöºÜ²»´íµÄϵͳ. >>>>>> >>>>>>python½â¾öÎÊÌâʱÓкܶàÑ¡Ôñ, >>>>>>ÔÚÄ£°æϵͳºÍweb¿ò¼ÜÉϾÍÊÇÈç´Ë. >>>>>> >>>>>>ËùÒԾʹ˿ªÌùÒ»ÆðÌÖÂÛpythonÖкõÄÄ£°æϵͳºÍºÃµÄweb¿ò¼Ü. >>>>>> >>>>>>ÎÒ¾ÍÏÈÅ×שÒýÓñÁË: >>>>>>babyworkµÄ¹¹¼Ü >>>>>>¿ò¼Ü+Ä£°æ: >>>>>>´¿mod_pythonµÄpublisher¹¹¼Ü, >>>>>>Ä£°æϵͳÊÇmod_python×Ô´øµÄpsp. >>>>>> >>>>>>Ìصã¼òµ¥, ¹¦ÄܱȽÏÈõ, µ«ÒòΪÊÇmod_pythonµÄÔÉúϵͳ, >>>>>>ÖªµÀµÃÈ˱Ƚ϶à. >>>>>>publisher¹¹¼ÜÆäʵÊÇZOPEµÄpublisherµÄ¼ò»¯°æ, >>>>>>¹¦ÄÜÒ²ºÜÒ»°ã(¿ÉÄܲ»Ö§³ÖÖÐÎĵØÖ·,û²âÊÔ¹ý, >>>>>>´ÓÓ¡ÏóÖÐÊǵÄ). >>>>>>pspÔò¸üÊÇÒ»¸ö·Ç³£ÔʼµÄÄ£°æϵͳ, >>>>>>Ëû½«pspÄ£°æת»»³Épython³ÌÐò, È»ºóÖ´ÐÐÖ®. >>>>>> >>>>>>MoinµÄ¹¹¼Ü: >>>>>> >>>>>>»ùÓÚrequestµÄ¹¹¼Ü: >>>>>>MoinµÄ»ù´¡ÊÇÒ»¸ö·â×°¹ýµÄrequestϵͳ, >>>>>>ÕâÖÖ·â×°ÆÁ±ÎÁËmoin×ÔÉíÌṩµÄstandalone·þÎñ, >>>>>>twistedºÍmod_python, >>>>>>python_cgiµÈµÈģʽÌṩµÄrequestµÄÇø±ð. >>>>>>ÔÚÕâ¸öͳһµÄrequest¿ò¼ÜÏÂ, >>>>>>Moin½«requset½»¸ø¶ÔÓ¦µÄÄ£¿é´¦Àí, ÔÚ³ÊÏÖ·½Ãæ, >>>>>>formater²å¼þ´¦Àí, ÌØÊâµÄ¶«Î÷ÓÉparser, processor, >>>>>>macroµÈ. MoinµÄÒì³£´¦Àí»úÖÆÒ²ºÜÓÐÌØÉ«, >>>>>>Ëû³ä·ÖÀûÓÃÁËpythonµÄÒ쳣ϵͳ, >>>>>>×îÖÕÄܽ«Òì³£ÍêÕûƯÁÁµÃÕ¹ÏÖµ½Ò³ÃæÉÏ. >>>>>>MoinµÄ¹¹¼Ü¿ÉÒÔ˵ÊÇ×Ô³ÉÌåϵµÄ, ºÜ²»´í, >>>>>>µ«ÊDz»ÊʺÏÆäËûÓ¦ÓÃ. >>>>>> >>>>>>Zope2, Zope3, ÎÒ²»Ì«Á˽â, Çë´ó¼ÒÒ»ÆðÀ´ÌÖÂÛ. >>>>>> >>>>>>___________________________________________________________ >>>>>>ÑÅ»¢Ãâ·ÑGÓÊÏä£ÖйúµÚÒ»¾øÎÞÀ¬»øÓʼþɧÈų¬´óÓÊÏä >>>>>>http://cn.mail.yahoo.com/?id=77071 >>>>>> >>>>>>_______________________________________________ >>>>>>python-chinese list >>>>>>python-chinese at lists.python.cn >>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>> >>>>>> >>>>>> >>>>>-- >>>>>[Time is unimportant, only life important!] >>>>> >>>>>_______________________________________________ >>>>>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 >>>> >>>> >>>> >>>> >>>> >>>______________________________________________________________________ >>> >>>_______________________________________________ >>>python-chinese list >>>python-chinese at lists.python.cn >>>http://python.cn/mailman/listinfo/python-chinese >>> >>> >>-- >> >>_______________________________________________ >>python-chinese list >>python-chinese at lists.python.cn >>http://python.cn/mailman/listinfo/python-chinese >> >> >> > > > > >------------------------------------------------------------------------ > >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese > > -------------- next part -------------- A non-text attachment was scrubbed... Name: william.vcf Type: text/x-vcard Size: 146 bytes Desc: not available Url : http://lists.exoweb.net/pipermail/python-chinese/attachments/20050614/ebd3ff6b/william.vcf
2005年06月15日 星期三 00:07
大伙说起东西来是一驮一驮的 能不能深入点 不要一会儿这个平台一会儿那个技术的 搞的我眼花缭乱 -- Open WebMail Project (http://openwebmail.org) ---------- Original Message ----------- From: William Wu <william at sinowish.com> To: limodou <limodou at gmail.com>, python-chinese at lists.python.cn Sent: Tue, 14 Jun 2005 22:54:38 +0800 Subject: Re: [python-chinese] 讨论:好的模版系统, 好的web框架 > 推荐 twisted & python web kit > > limodou wrote: > > >zope是一个应用服务器。而moin是一个wiki系统。不是一个种类的东西。 > > > >在 14 Jun 2005 19:31:14 +0800,baoyongjun<byj at net.pku.edu.cn> 写道: > > > > > >>zope和moin的区别 ,优缺点分别是什么? > >> > >>在 2005-06-14 二 的 17:50, Alex Dong 写道: > >> > >> > >>>我现在就是使用Cheetah作为模板系统,把Business > >>>Object作为数据传递给Cheetah的模板解释器。然后自己使用CGI来处理 Request/Response。 > >>> > >>>使用Cheetah的原因是它的用户群最大,并且作者Mike Orr是我的好朋友; > >>>使用CGI,而不用ZOPE或者WebWare的原因是我的网页数量少,但是定制化的要求比 较高。 > >>> > >>>不知道大家都怎么做的。 > >>> > >>>董洵 > >>> > >>>On 6/11/05, limodou <limodou at gmail.com> wrote: > >>> > >>> > >>>>zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过 roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > >>>> > >>>>正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如果 是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻辑, 象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不是只 针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板系统 有所区别。 > >>>> > >>>>在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > >>>> > >>>> > >>>>>不是 MCV 格局比较好哪? > >>>>> > >>>>>好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封装 的! > >>>>>一切从需求引发! > >>>>>MoinMoin 因为是对实际的文本文件进行处理, > >>>>>所以演化成了现在这样, > >>>>> > >>>>>babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要求高 些? > >>>>>而实际的数据操作是非常单纯的, > >>>>>那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成的! > >>>>>当初为了 Otter 我们都写出了几种模板系统哪!! > >>>>> > >>>>>最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化功 能就可以了!类似: > >>>>> > >>>>>== 简要模板 == > >>>>> * 高级 字串格式化替换 > >>>>> * locals() 将当前运行空间中的所有对象以字典方式转换出来 > >>>>>可以使用 %(varName)s 的模式进行字串替换 > >>>>> * 这样一来就形成了一个天然的模板系统 > >>>>> * 比如说模板文件 ask-item.php > >>>>> > >>>>>{{{ > >>>>> > >>>>> > >>>>>%(ppqitem)s > >>>>>}}} > >>>>> > >>>>> * 使用时,就是读入,然后替换文件,组织,输出为其它文件 > >>>>> * 比如说 > >>>>> > >>>>>{{{#!python > >>>>>ff = open("paper.php","w") > >>>>>exp = "" > >>>>>template = open(ask-item.php,"r").read() > >>>>>for item in question: > >>>>> ppqvar = item[1][0] > >>>>> ppqitem = item[1][1] > >>>>> exp +=template%locals() > >>>>>ff.write(exp) > >>>>>}}} > >>>>> > >>>>> * 其中 '''question''' 是一个结构化数据对象 > >>>>> * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换字 串声明匹配的对象值替换入! > >>>>> > >>>>>在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > >>>>> > >>>>> > >>>>>>快到暑假, 我打算继续babywork的开发, > >>>>>>这次准备选用一个好的模版系统, > >>>>>>看到riverfor在wiki上推荐ClearSilver, > >>>>>>google了一下貌似是个很不错的系统. > >>>>>> > >>>>>>python解决问题时有很多选择, > >>>>>>在模版系统和web框架上就是如此. > >>>>>> > >>>>>>所以就此开贴一起讨论python中好的模版系统和好的web框架. > >>>>>> > >>>>>>我就先抛砖引玉了: > >>>>>>babywork的构架 > >>>>>>框架+模版: > >>>>>>纯mod_python的publisher构架, > >>>>>>模版系统是mod_python自带的psp. > >>>>>> > >>>>>>特点简单, 功能比较弱, 但因为是mod_python的原生系统, > >>>>>>知道得人比较多. > >>>>>>publisher构架其实是ZOPE的publisher的简化版, > >>>>>>功能也很一般(可能不支持中文地址,没测试过, > >>>>>>从印象中是的). > >>>>>>psp则更是一个非常原始的模版系统, > >>>>>>他将psp模版转换成python程序, 然后执行之. > >>>>>> > >>>>>>Moin的构架: > >>>>>> > >>>>>>基于request的构架: > >>>>>>Moin的基础是一个封装过的request系统, > >>>>>>这种封装屏蔽了moin自身提供的standalone服务, > >>>>>>twisted和mod_python, > >>>>>>python_cgi等等模式提供的request的区别. > >>>>>>在这个统一的request框架下, > >>>>>>Moin将requset交给对应的模块处理, 在呈现方面, > >>>>>>formater插件处理, 特殊的东西由parser, processor, > >>>>>>macro等. Moin的异常处理机制也很有特色, > >>>>>>他充分利用了python的异常系统, > >>>>>>最终能将异常完整漂亮得展现到页面上. > >>>>>>Moin的构架可以说是自成体系的, 很不错, > >>>>>>但是不适合其他应用. > >>>>>> > >>>>>>Zope2, Zope3, 我不太了解, 请大家一起来讨论. > >>>>>> > >>>>>>___________________________________________________________ > >>>>>>雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > >>>>>>http://cn.mail.yahoo.com/?id=77071 > >>>>>> > >>>>>>_______________________________________________ > >>>>>>python-chinese list > >>>>>>python-chinese at lists.python.cn > >>>>>>http://python.cn/mailman/listinfo/python-chinese > >>>>>> > >>>>>> > >>>>>> > >>>>>-- > >>>>>[Time is unimportant, only life important!] > >>>>> > >>>>>_______________________________________________ > >>>>>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 > >>>> > >>>> > >>>> > >>>> > >>>> > >>>______________________________________________________________________ > >>> > >>>_______________________________________________ > >>>python-chinese list > >>>python-chinese at lists.python.cn > >>>http://python.cn/mailman/listinfo/python-chinese > >>> > >>> > >>-- > >> > >>_______________________________________________ > >>python-chinese list > >>python-chinese at lists.python.cn > >>http://python.cn/mailman/listinfo/python-chinese > >> > >> > >> > > > > > > > > > >------------------------------------------------------------------------ > > > >_______________________________________________ > >python-chinese list > >python-chinese at lists.python.cn > >http://python.cn/mailman/listinfo/python-chinese > > > > ------- End of Original Message -------
2005年06月15日 星期三 00:10
基于zope的web系统和moin做的web系统有什么在技术实现上有什么区别 分别有什么优缺 点 项目要用 有应用经验的大牛能不能说点实际的东西 -- Open WebMail Project (http://openwebmail.org) ---------- Original Message ----------- From: limodou <limodou at gmail.com> To: python-chinese at lists.python.cn Sent: Tue, 14 Jun 2005 20:59:50 +0800 Subject: Re: [python-chinese] 讨论:好的模版系统, 好的web框架 > zope是一个应用服务器。而moin是一个wiki系统。不是一个种类的东西。 > > 在 14 Jun 2005 19:31:14 +0800,baoyongjun<byj at net.pku.edu.cn> 写道: > > zope和moin的区别 ,优缺点分别是什么? > > > > 在 2005-06-14 二 的 17:50, Alex Dong 写道: > > > 我现在就是使用Cheetah作为模板系统,把Business > > > Object作为数据传递给Cheetah的模板解释器。然后自己使用CGI来处理 Request/Response。 > > > > > > 使用Cheetah的原因是它的用户群最大,并且作者Mike Orr是我的好朋友; > > > 使用CGI,而不用ZOPE或者WebWare的原因是我的网页数量少,但是定制化的要求 比较高。 > > > > > > 不知道大家都怎么做的。 > > > > > > 董洵 > > > > > > On 6/11/05, limodou <limodou at gmail.com> wrote: > > > > zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过 roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > > > > > > > > 正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如 果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻 辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不 是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板 系统有所区别。 > > > > > > > > 在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > > > > > 不是 MCV 格局比较好哪? > > > > > > > > > > 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封 装的! > > > > > 一切从需求引发! > > > > > MoinMoin 因为是对实际的文本文件进行处理, > > > > > 所以演化成了现在这样, > > > > > > > > > > babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要 求高些? > > > > > 而实际的数据操作是非常单纯的, > > > > > 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成 的! > > > > > 当初为了 Otter 我们都写出了几种模板系统哪!! > > > > > > > > > > 最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化 功能就可以了!类似: > > > > > > > > > > == 简要模板 == > > > > > * 高级 字串格式化替换 > > > > > * locals() 将当前运行空间中的所有对象以字典方式转换出来 > > > > > 可以使用 %(varName)s 的模式进行字串替换 > > > > > * 这样一来就形成了一个天然的模板系统 > > > > > * 比如说模板文件 ask-item.php > > > > > > > > > > {{{ > > > > > > > > > > > > > > > %(ppqitem)s > > > > > }}} > > > > > > > > > > * 使用时,就是读入,然后替换文件,组织,输出为其它文件 > > > > > * 比如说 > > > > > > > > > > {{{#!python > > > > > ff = open("paper.php","w") > > > > > exp = "" > > > > > template = open(ask-item.php,"r").read() > > > > > for item in question: > > > > > ppqvar = item[1][0] > > > > > ppqitem = item[1][1] > > > > > exp +=template%locals() > > > > > ff.write(exp) > > > > > }}} > > > > > > > > > > * 其中 '''question''' 是一个结构化数据对象 > > > > > * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换 字串声明匹配的对象值替换入! > > > > > > > > > > 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > > > > > > 快到暑假, 我打算继续babywork的开发, > > > > > > 这次准备选用一个好的模版系统, > > > > > > 看到riverfor在wiki上推荐ClearSilver, > > > > > > google了一下貌似是个很不错的系统. > > > > > > > > > > > > python解决问题时有很多选择, > > > > > > 在模版系统和web框架上就是如此. > > > > > > > > > > > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > > > > > > > > > > > 我就先抛砖引玉了: > > > > > > babywork的构架 > > > > > > 框架+模版: > > > > > > 纯mod_python的publisher构架, > > > > > > 模版系统是mod_python自带的psp. > > > > > > > > > > > > 特点简单, 功能比较弱, 但因为是mod_python的原生系统, > > > > > > 知道得人比较多. > > > > > > publisher构架其实是ZOPE的publisher的简化版, > > > > > > 功能也很一般(可能不支持中文地址,没测试过, > > > > > > 从印象中是的). > > > > > > psp则更是一个非常原始的模版系统, > > > > > > 他将psp模版转换成python程序, 然后执行之. > > > > > > > > > > > > Moin的构架: > > > > > > > > > > > > 基于request的构架: > > > > > > Moin的基础是一个封装过的request系统, > > > > > > 这种封装屏蔽了moin自身提供的standalone服务, > > > > > > twisted和mod_python, > > > > > > python_cgi等等模式提供的request的区别. > > > > > > 在这个统一的request框架下, > > > > > > Moin将requset交给对应的模块处理, 在呈现方面, > > > > > > formater插件处理, 特殊的东西由parser, processor, > > > > > > macro等. Moin的异常处理机制也很有特色, > > > > > > 他充分利用了python的异常系统, > > > > > > 最终能将异常完整漂亮得展现到页面上. > > > > > > Moin的构架可以说是自成体系的, 很不错, > > > > > > 但是不适合其他应用. > > > > > > > > > > > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > > > > > > > > > > > ___________________________________________________________ > > > > > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > > > > > http://cn.mail.yahoo.com/?id=77071 > > > > > > > > > > > > _______________________________________________ > > > > > > python-chinese list > > > > > > python-chinese at lists.python.cn > > > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > -- > > > > > [Time is unimportant, only life important!] > > > > > > > > > > _______________________________________________ > > > > > 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 > > > > > > > > > > > > > > > > > > ______________________________________________________________________ > > > > > > _______________________________________________ > > > python-chinese list > > > python-chinese at lists.python.cn > > > http://python.cn/mailman/listinfo/python-chinese > > -- > > > > _______________________________________________ > > 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 ------- End of Original Message -------
2005年06月15日 星期三 00:19
Zope上有很多现成的plugin可以用,其他的框架类似的功能需要自己移植, python web kit做了些移植的工作。twisted是事件驱动的企业应用框架。 如果熟悉java web 应用开发,从python web kit开始应该比较顺手。 zope开始的话,有些概念需要重新学习。 byj wrote: >基于zope的web系统和moin做的web系统有什么在技术实现上有什么区别 分别有什么优缺 >点 项目要用 有应用经验的大牛能不能说点实际的东西 > >-- >Open WebMail Project (http://openwebmail.org) > > >---------- Original Message ----------- >From: limodou <limodou at gmail.com> >To: python-chinese at lists.python.cn >Sent: Tue, 14 Jun 2005 20:59:50 +0800 >Subject: Re: [python-chinese] 讨论:好的模版系统, 好的web框架 > > > >>zope是一个应用服务器。而moin是一个wiki系统。不是一个种类的东西。 >> >>在 14 Jun 2005 19:31:14 +0800,baoyongjun<byj at net.pku.edu.cn> 写道: >> >> >>>zope和moin的区别 ,优缺点分别是什么? >>> >>>在 2005-06-14 二 的 17:50, Alex Dong 写道: >>> >>> >>>>我现在就是使用Cheetah作为模板系统,把Business >>>>Object作为数据传递给Cheetah的模板解释器。然后自己使用CGI来处理 >>>> >>>> >Request/Response。 > > >>>>使用Cheetah的原因是它的用户群最大,并且作者Mike Orr是我的好朋友; >>>>使用CGI,而不用ZOPE或者WebWare的原因是我的网页数量少,但是定制化的要求 >>>> >>>> >比较高。 > > >>>>不知道大家都怎么做的。 >>>> >>>>董洵 >>>> >>>>On 6/11/05, limodou <limodou at gmail.com> wrote: >>>> >>>> >>>>>zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过 >>>>> >>>>> >roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > > >>>>>正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如 >>>>> >>>>> >果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻 >辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不 >是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板 >系统有所区别。 > > >>>>>在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: >>>>> >>>>> >>>>>>不是 MCV 格局比较好哪? >>>>>> >>>>>>好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封 >>>>>> >>>>>> >装的! > > >>>>>>一切从需求引发! >>>>>>MoinMoin 因为是对实际的文本文件进行处理, >>>>>>所以演化成了现在这样, >>>>>> >>>>>>babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要 >>>>>> >>>>>> >求高些? > > >>>>>>而实际的数据操作是非常单纯的, >>>>>>那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成 >>>>>> >>>>>> >的! > > >>>>>>当初为了 Otter 我们都写出了几种模板系统哪!! >>>>>> >>>>>>最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化 >>>>>> >>>>>> >功能就可以了!类似: > > >>>>>>== 简要模板 == >>>>>> * 高级 字串格式化替换 >>>>>> * locals() 将当前运行空间中的所有对象以字典方式转换出来 >>>>>>可以使用 %(varName)s 的模式进行字串替换 >>>>>> * 这样一来就形成了一个天然的模板系统 >>>>>> * 比如说模板文件 ask-item.php >>>>>> >>>>>>{{{ >>>>>> >>>>>> >>>>>>%(ppqitem)s >>>>>>}}} >>>>>> >>>>>> * 使用时,就是读入,然后替换文件,组织,输出为其它文件 >>>>>> * 比如说 >>>>>> >>>>>>{{{#!python >>>>>>ff = open("paper.php","w") >>>>>>exp = "" >>>>>>template = open(ask-item.php,"r").read() >>>>>>for item in question: >>>>>> ppqvar = item[1][0] >>>>>> ppqitem = item[1][1] >>>>>> exp +=template%locals() >>>>>>ff.write(exp) >>>>>>}}} >>>>>> >>>>>> * 其中 '''question''' 是一个结构化数据对象 >>>>>> * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换 >>>>>> >>>>>> >字串声明匹配的对象值替换入! > > >>>>>>在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: >>>>>> >>>>>> >>>>>>>快到暑假, 我打算继续babywork的开发, >>>>>>>这次准备选用一个好的模版系统, >>>>>>>看到riverfor在wiki上推荐ClearSilver, >>>>>>>google了一下貌似是个很不错的系统. >>>>>>> >>>>>>>python解决问题时有很多选择, >>>>>>>在模版系统和web框架上就是如此. >>>>>>> >>>>>>>所以就此开贴一起讨论python中好的模版系统和好的web框架. >>>>>>> >>>>>>>我就先抛砖引玉了: >>>>>>>babywork的构架 >>>>>>>框架+模版: >>>>>>>纯mod_python的publisher构架, >>>>>>>模版系统是mod_python自带的psp. >>>>>>> >>>>>>>特点简单, 功能比较弱, 但因为是mod_python的原生系统, >>>>>>>知道得人比较多. >>>>>>>publisher构架其实是ZOPE的publisher的简化版, >>>>>>>功能也很一般(可能不支持中文地址,没测试过, >>>>>>>从印象中是的). >>>>>>>psp则更是一个非常原始的模版系统, >>>>>>>他将psp模版转换成python程序, 然后执行之. >>>>>>> >>>>>>>Moin的构架: >>>>>>> >>>>>>>基于request的构架: >>>>>>>Moin的基础是一个封装过的request系统, >>>>>>>这种封装屏蔽了moin自身提供的standalone服务, >>>>>>>twisted和mod_python, >>>>>>>python_cgi等等模式提供的request的区别. >>>>>>>在这个统一的request框架下, >>>>>>>Moin将requset交给对应的模块处理, 在呈现方面, >>>>>>>formater插件处理, 特殊的东西由parser, processor, >>>>>>>macro等. Moin的异常处理机制也很有特色, >>>>>>>他充分利用了python的异常系统, >>>>>>>最终能将异常完整漂亮得展现到页面上. >>>>>>>Moin的构架可以说是自成体系的, 很不错, >>>>>>>但是不适合其他应用. >>>>>>> >>>>>>>Zope2, Zope3, 我不太了解, 请大家一起来讨论. >>>>>>> >>>>>>>___________________________________________________________ >>>>>>>雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 >>>>>>>http://cn.mail.yahoo.com/?id=77071 >>>>>>> >>>>>>>_______________________________________________ >>>>>>>python-chinese list >>>>>>>python-chinese at lists.python.cn >>>>>>>http://python.cn/mailman/listinfo/python-chinese >>>>>>> >>>>>>> >>>>>>> >>>>>>-- >>>>>>[Time is unimportant, only life important!] >>>>>> >>>>>>_______________________________________________ >>>>>>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 >>>>> >>>>> >>>>> >>>>> >>>>> >>>>______________________________________________________________________ >>>> >>>>_______________________________________________ >>>>python-chinese list >>>>python-chinese at lists.python.cn >>>>http://python.cn/mailman/listinfo/python-chinese >>>> >>>> >>>-- >>> >>>_______________________________________________ >>>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 >> >> >------- End of Original Message ------- > >_______________________________________________ >python-chinese list >python-chinese at lists.python.cn >http://python.cn/mailman/listinfo/python-chinese > > > > -------------- next part -------------- A non-text attachment was scrubbed... Name: william.vcf Type: text/x-vcard Size: 154 bytes Desc: not available Url : http://lists.exoweb.net/pipermail/python-chinese/attachments/20050615/1d213b41/william.vcf
2005年06月15日 星期三 08:41
模板系统与web框架是不同的东西。zope是一个完整的应用平台,它可以跑应用,可以进行开发,功能非常强大。而moin是一个wiki系统,它基本上是来用的,而且功能单一,不是用来开发的。 在 05-6-15,byj<byj at net.pku.edu.cn> 写道: > 基于zope的web系统和moin做的web系统有什么在技术实现上有什么区别 分别有什么优缺 > 点 项目要用 有应用经验的大牛能不能说点实际的东西 > > -- > Open WebMail Project (http://openwebmail.org) > > ---------- Original Message ----------- > From: limodou <limodou at gmail.com> > To: python-chinese at lists.python.cn > Sent: Tue, 14 Jun 2005 20:59:50 +0800 > Subject: Re: [python-chinese] 讨论:好的模版系统, 好的web框架 > > > zope是一个应用服务器。而moin是一个wiki系统。不是一个种类的东西。 > > > > 在 14 Jun 2005 19:31:14 +0800,baoyongjun<byj at net.pku.edu.cn> 写道: > > > zope和moin的区别 ,优缺点分别是什么? > > > > > > 在 2005-06-14 二 的 17:50, Alex Dong 写道: > > > > 我现在就是使用Cheetah作为模板系统,把Business > > > > Object作为数据传递给Cheetah的模板解释器。然后自己使用CGI来处理 > Request/Response。 > > > > > > > > 使用Cheetah的原因是它的用户群最大,并且作者Mike Orr是我的好朋友; > > > > 使用CGI,而不用ZOPE或者WebWare的原因是我的网页数量少,但是定制化的要求 > 比较高。 > > > > > > > > 不知道大家都怎么做的。 > > > > > > > > 董洵 > > > > > > > > On 6/11/05, limodou <limodou at gmail.com> wrote: > > > > > zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过 > roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > > > > > > > > > > 正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如 > 果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻 > 辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不 > 是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板 > 系统有所区别。 > > > > > > > > > > 在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > > > > > > 不是 MCV 格局比较好哪? > > > > > > > > > > > > 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封 > 装的! > > > > > > 一切从需求引发! > > > > > > MoinMoin 因为是对实际的文本文件进行处理, > > > > > > 所以演化成了现在这样, > > > > > > > > > > > > babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要 > 求高些? > > > > > > 而实际的数据操作是非常单纯的, > > > > > > 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成 > 的! > > > > > > 当初为了 Otter 我们都写出了几种模板系统哪!! > > > > > > > > > > > > 最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化 > 功能就可以了!类似: > > > > > > > > > > > > == 简要模板 == > > > > > > * 高级 字串格式化替换 > > > > > > * locals() 将当前运行空间中的所有对象以字典方式转换出来 > > > > > > 可以使用 %(varName)s 的模式进行字串替换 > > > > > > * 这样一来就形成了一个天然的模板系统 > > > > > > * 比如说模板文件 ask-item.php > > > > > > > > > > > > {{{ > > > > > > > > > > > > > > > > > > %(ppqitem)s > > > > > > }}} > > > > > > > > > > > > * 使用时,就是读入,然后替换文件,组织,输出为其它文件 > > > > > > * 比如说 > > > > > > > > > > > > {{{#!python > > > > > > ff = open("paper.php","w") > > > > > > exp = "" > > > > > > template = open(ask-item.php,"r").read() > > > > > > for item in question: > > > > > > ppqvar = item[1][0] > > > > > > ppqitem = item[1][1] > > > > > > exp +=template%locals() > > > > > > ff.write(exp) > > > > > > }}} > > > > > > > > > > > > * 其中 '''question''' 是一个结构化数据对象 > > > > > > * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换 > 字串声明匹配的对象值替换入! > > > > > > > > > > > > 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > > > > > > > 快到暑假, 我打算继续babywork的开发, > > > > > > > 这次准备选用一个好的模版系统, > > > > > > > 看到riverfor在wiki上推荐ClearSilver, > > > > > > > google了一下貌似是个很不错的系统. > > > > > > > > > > > > > > python解决问题时有很多选择, > > > > > > > 在模版系统和web框架上就是如此. > > > > > > > > > > > > > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > > > > > > > > > > > > > 我就先抛砖引玉了: > > > > > > > babywork的构架 > > > > > > > 框架+模版: > > > > > > > 纯mod_python的publisher构架, > > > > > > > 模版系统是mod_python自带的psp. > > > > > > > > > > > > > > 特点简单, 功能比较弱, 但因为是mod_python的原生系统, > > > > > > > 知道得人比较多. > > > > > > > publisher构架其实是ZOPE的publisher的简化版, > > > > > > > 功能也很一般(可能不支持中文地址,没测试过, > > > > > > > 从印象中是的). > > > > > > > psp则更是一个非常原始的模版系统, > > > > > > > 他将psp模版转换成python程序, 然后执行之. > > > > > > > > > > > > > > Moin的构架: > > > > > > > > > > > > > > 基于request的构架: > > > > > > > Moin的基础是一个封装过的request系统, > > > > > > > 这种封装屏蔽了moin自身提供的standalone服务, > > > > > > > twisted和mod_python, > > > > > > > python_cgi等等模式提供的request的区别. > > > > > > > 在这个统一的request框架下, > > > > > > > Moin将requset交给对应的模块处理, 在呈现方面, > > > > > > > formater插件处理, 特殊的东西由parser, processor, > > > > > > > macro等. Moin的异常处理机制也很有特色, > > > > > > > 他充分利用了python的异常系统, > > > > > > > 最终能将异常完整漂亮得展现到页面上. > > > > > > > Moin的构架可以说是自成体系的, 很不错, > > > > > > > 但是不适合其他应用. > > > > > > > > > > > > > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > > > > > > > > > > > > > ___________________________________________________________ > > > > > > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > > > > > > http://cn.mail.yahoo.com/?id=77071 > > > > > > > > > > > > > > _______________________________________________ > > > > > > > python-chinese list > > > > > > > python-chinese at lists.python.cn > > > > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > > > > -- > > > > > > [Time is unimportant, only life important!] > > > > > > > > > > > > _______________________________________________ > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > ______________________________________________________________________ > > > > > > > > _______________________________________________ > > > > python-chinese list > > > > python-chinese at lists.python.cn > > > > http://python.cn/mailman/listinfo/python-chinese > > > -- > > > > > > _______________________________________________ > > > 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 > ------- End of Original Message ------- > > -- I like python! My Donews Blog: http://www.donews.net/limodou New Google Maillist: http://groups-beta.google.com/group/python-cn
2005年06月15日 星期三 09:45
也许打个比方更有助于你理解 Zope是平台类似于j2EE或者.net frame work是这一级别上的东西 moin是一个应用软件类似于Internet Explorer,只不过moin是python写的用来做wiki的 twisted是一个网络底层(主要是异步)的包装,类似于你调用的一个网络函数库 在 05-6-15,limodou<limodou at gmail.com> 写道: > 模板系统与web框架是不同的东西。zope是一个完整的应用平台,它可以跑应用,可以进行开发,功能非常强大。而moin是一个wiki系统,它基本上是来用的,而且功能单一,不是用来开发的。 > > 在 05-6-15,byj<byj at net.pku.edu.cn> 写道: > > 基于zope的web系统和moin做的web系统有什么在技术实现上有什么区别 分别有什么优缺 > > 点 项目要用 有应用经验的大牛能不能说点实际的东西 > > > > -- > > Open WebMail Project (http://openwebmail.org) > > > > ---------- Original Message ----------- > > From: limodou <limodou at gmail.com> > > To: python-chinese at lists.python.cn > > Sent: Tue, 14 Jun 2005 20:59:50 +0800 > > Subject: Re: [python-chinese] 讨论:好的模版系统, 好的web框架 > > > > > zope是一个应用服务器。而moin是一个wiki系统。不是一个种类的东西。 > > > > > > 在 14 Jun 2005 19:31:14 +0800,baoyongjun<byj at net.pku.edu.cn> 写道: > > > > zope和moin的区别 ,优缺点分别是什么? > > > > > > > > 在 2005-06-14 二 的 17:50, Alex Dong 写道: > > > > > 我现在就是使用Cheetah作为模板系统,把Business > > > > > Object作为数据传递给Cheetah的模板解释器。然后自己使用CGI来处理 > > Request/Response。 > > > > > > > > > > 使用Cheetah的原因是它的用户群最大,并且作者Mike Orr是我的好朋友; > > > > > 使用CGI,而不用ZOPE或者WebWare的原因是我的网页数量少,但是定制化的要求 > > 比较高。 > > > > > > > > > > 不知道大家都怎么做的。 > > > > > > > > > > 董洵 > > > > > > > > > > On 6/11/05, limodou <limodou at gmail.com> wrote: > > > > > > zope所带的zpt好象不错,当然是有些复杂,而且是只针对html文档的。不过 > > roundup好象就使用了它,记得在pypi上有关门的zpt的独立的包。 > > > > > > > > > > > > 正如zoomquiet所说,符合要求就是好的。当然考虑到扩展性可能会有影响。如 > > 果是纯数据驱动,象我以前写的meteor模块系统也是一种选择。如果想实现复杂的逻 > > 辑,象zpt和其它的模块系统都可以。不过宣传一下,meteor是一种通用的模块系统,不 > > 是只针对html的,而且由于相对简单扩展也方便,不过它是数据驱动的,与一般的模板 > > 系统有所区别。 > > > > > > > > > > > > 在 05-6-11,Zoom Quiet<zoom.quiet at gmail.com> 写道: > > > > > > > 不是 MCV 格局比较好哪? > > > > > > > > > > > > > > 好的CMS系统都是尽可能的将各种具体的数据操作使用虚拟的操作服务层来封 > > 装的! > > > > > > > 一切从需求引发! > > > > > > > MoinMoin 因为是对实际的文本文件进行处理, > > > > > > > 所以演化成了现在这样, > > > > > > > > > > > > > > babywork 应该说是比较单纯的文件管理系统,因为行业的关系,页面美观要 > > 求高些? > > > > > > > 而实际的数据操作是非常单纯的, > > > > > > > 那未,不用管什么现有的模板系统,如果目标明确,自个儿开发一个都成 > > 的! > > > > > > > 当初为了 Otter 我们都写出了几种模板系统哪!! > > > > > > > > > > > > > > 最近为了写一个问卷生产系统,才发现直接使用Python 自个儿的字串格式化 > > 功能就可以了!类似: > > > > > > > > > > > > > > == 简要模板 == > > > > > > > * 高级 字串格式化替换 > > > > > > > * locals() 将当前运行空间中的所有对象以字典方式转换出来 > > > > > > > 可以使用 %(varName)s 的模式进行字串替换 > > > > > > > * 这样一来就形成了一个天然的模板系统 > > > > > > > * 比如说模板文件 ask-item.php > > > > > > > > > > > > > > {{{ > > > > > > > > > > > > > > > > > > > > > %(ppqitem)s > > > > > > > }}} > > > > > > > > > > > > > > * 使用时,就是读入,然后替换文件,组织,输出为其它文件 > > > > > > > * 比如说 > > > > > > > > > > > > > > {{{#!python > > > > > > > ff = open("paper.php","w") > > > > > > > exp = "" > > > > > > > template = open(ask-item.php,"r").read() > > > > > > > for item in question: > > > > > > > ppqvar = item[1][0] > > > > > > > ppqitem = item[1][1] > > > > > > > exp +=template%locals() > > > > > > > ff.write(exp) > > > > > > > }}} > > > > > > > > > > > > > > * 其中 '''question''' 是一个结构化数据对象 > > > > > > > * 在循环中,'''locals()''' 会自动将当前环境对象中与模板字串中替换 > > 字串声明匹配的对象值替换入! > > > > > > > > > > > > > > 在 05-6-11,Hoxide Ma<hoxide_dirac at yahoo.com.cn> 写道: > > > > > > > > 快到暑假, 我打算继续babywork的开发, > > > > > > > > 这次准备选用一个好的模版系统, > > > > > > > > 看到riverfor在wiki上推荐ClearSilver, > > > > > > > > google了一下貌似是个很不错的系统. > > > > > > > > > > > > > > > > python解决问题时有很多选择, > > > > > > > > 在模版系统和web框架上就是如此. > > > > > > > > > > > > > > > > 所以就此开贴一起讨论python中好的模版系统和好的web框架. > > > > > > > > > > > > > > > > 我就先抛砖引玉了: > > > > > > > > babywork的构架 > > > > > > > > 框架+模版: > > > > > > > > 纯mod_python的publisher构架, > > > > > > > > 模版系统是mod_python自带的psp. > > > > > > > > > > > > > > > > 特点简单, 功能比较弱, 但因为是mod_python的原生系统, > > > > > > > > 知道得人比较多. > > > > > > > > publisher构架其实是ZOPE的publisher的简化版, > > > > > > > > 功能也很一般(可能不支持中文地址,没测试过, > > > > > > > > 从印象中是的). > > > > > > > > psp则更是一个非常原始的模版系统, > > > > > > > > 他将psp模版转换成python程序, 然后执行之. > > > > > > > > > > > > > > > > Moin的构架: > > > > > > > > > > > > > > > > 基于request的构架: > > > > > > > > Moin的基础是一个封装过的request系统, > > > > > > > > 这种封装屏蔽了moin自身提供的standalone服务, > > > > > > > > twisted和mod_python, > > > > > > > > python_cgi等等模式提供的request的区别. > > > > > > > > 在这个统一的request框架下, > > > > > > > > Moin将requset交给对应的模块处理, 在呈现方面, > > > > > > > > formater插件处理, 特殊的东西由parser, processor, > > > > > > > > macro等. Moin的异常处理机制也很有特色, > > > > > > > > 他充分利用了python的异常系统, > > > > > > > > 最终能将异常完整漂亮得展现到页面上. > > > > > > > > Moin的构架可以说是自成体系的, 很不错, > > > > > > > > 但是不适合其他应用. > > > > > > > > > > > > > > > > Zope2, Zope3, 我不太了解, 请大家一起来讨论. > > > > > > > > > > > > > > > > ___________________________________________________________ > > > > > > > > 雅虎免费G邮箱-中国第一绝无垃圾邮件骚扰超大邮箱 > > > > > > > > http://cn.mail.yahoo.com/?id=77071 > > > > > > > > > > > > > > > > _______________________________________________ > > > > > > > > python-chinese list > > > > > > > > python-chinese at lists.python.cn > > > > > > > > http://python.cn/mailman/listinfo/python-chinese > > > > > > > > > > > > > > > > > > > > > > -- > > > > > > > [Time is unimportant, only life important!] > > > > > > > > > > > > > > _______________________________________________ > > > > > > > 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 > > > > > > > > > > > > > > > > > > > > > > > > > > > > ______________________________________________________________________ > > > > > > > > > > _______________________________________________ > > > > > python-chinese list > > > > > python-chinese at lists.python.cn > > > > > http://python.cn/mailman/listinfo/python-chinese > > > > -- > > > > > > > > _______________________________________________ > > > > 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 > > ------- End of Original Message ------- > > > > > > -- > 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 > > > -- I'm the one, powered by nEO
Zeuux © 2025
京ICP备05028076号