从Django眼中了解Zope内部结构

栏目: Python · 发布时间: 5年前

内容简介:首先要做的事情是:当前的zope2版本也包括所有zope3.如果你看看像Plone这样的现代zope2应用程序,你会发现它使用了大量的“zope 3”(现在称为“zope工具包”,ZTK).ZODB的真正目的:它是少数几个对象数据库(与关系SQL数据库相对)之一,它们被广泛使用.您可以“只”将所有python对象存储在那里,而无需使用对象关系映射器.引擎盖下没有“选择*来自xyz”.在zodb对象上添加一个新属性“just”会持续存在这种变化.豪华!当您的数据无法轻松映射到严格的关系数据库时,尤其方便.如果

我是zope的新手,之前我在Django工作了大约2.5年.因此,当我第一次跳入Zope(v2)时(仅因为我的新公司7年来一直使用它),我遇到了这些问题.请帮助我理解它们.

> zodb的“真正”目的是什么?我知道它做了什么,但告诉我zodb做的​​一件好事和像Django(没有zodb)这样的框架未命中.

更新:根据答案,Zodb取代了对ORM的需求.您可以直接将对象存储在db(zodb本身)中.

>据说zope的杀手功能之一是TTW(通过网络或使用ZMI开发)的理念.但我(和任何开发人员)更喜欢基于文件系统的开发(使用Version控件,使用Eclipse,使用Zope之外的任何喜欢的工具).那TTW实际上在哪里使用?

>这是最重要的一个.与Python / Django继承相比,Zope的Acquistion获得了什么“EXTRA Stuff”.

>来自Django的Zope真的是一个很好的举动吗?

>任何像zope(v2)的djangosnippets.org这样的网站?

首先要做的事情是:当前的zope2版本也包括所有zope3.如果你看看像Plone这样的现代zope2应用程序,你会发现它使用了大量的“zope 3”(现在称为“zope工具包”,ZTK).

ZODB的真正目的:它是少数几个对象数据库(与关系 SQL 数据库相对)之一,它们被广泛使用.您可以“只”将所有 python 对象存储在那里,而无需使用对象关系映射器.引擎盖下没有“选择*来自xyz”.在zodb对象上添加一个新属性“just”会持续存在这种变化.豪华!当您的数据无法轻松映射到严格的关系数据库时,尤其方便.如果你可以轻松地映射它:只使用这样的数据库,我在zope项目中使用了sqlalchemy几次.

TTW:我们从那里回来了.至少,TTW的zope2方式确实具有你担心的所有缺点.没有版本控制,没有外部 工具 等.Plone正在尝试(谷歌的“灵巧”)与良好的显式zope 3方式进行TTW开发,仍然可以映射回文件系统.

TTW:zodb使得在数据库中存储各种配置设置变得简单而便宜,因此您通常可以通过浏览器调整很多东西.但这并不算作典型的TTW开发.

收购:方便的技巧,虽然它导致巨大的命名空间污染.双刃剑.为了提高可调试性和维护性,我们在大多数情况下都尝试不用.采集发生在“对象图”内部,因此请考虑“zope站点内的文件夹结构”.调用“contact_form”三个文件夹仍然可以找到网站根目录下的“contact_form”,如果在其间找不到它.双刃剑!

(当然,常规的python面向对象的继承发生在各处).

从django转移到zope:对于某些问题非常好,对其他问题毫无意义:-)相当多的zope2 / plone公司实际上已经为特定项目完成了一些django项目,通常是那些拥有99%内容的项目一个相对简单的SQL数据库.如果你更喜欢内容管理,那么zope(和plone)可能更好.

补充提示:不要只关注zope2. Zope3的“组件架构”具有许多用于创建更大应用程序(也非非Web)的功能.例如,请查看grok( http://grok.zope.org )以获得友好的打包zope.纯组件体系结构也可以在django项目中使用.

翻译自:https://stackoverflow.com/questions/1706309/understanding-zope-internals-from-django-eyes


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

程序员的职业素养

程序员的职业素养

Robert C.Martin / 章显洲、余晟 / 人民邮电出版社 / 2012-9-1 / 49.00元

本书是编程大师Bob 大叔40 余年编程生涯的心得体会, 讲解成为真正专业的程序员需要什么样的态度、原则,需要采取什么样的行动。作者以自己以及身边的同事走过的弯路、犯过的错误为例,意在为后来人引路,助其职业生涯迈上更高台阶。 本书适合所有程序员,也可供所有想成为具备职业素养的职场人士参考。一起来看看 《程序员的职业素养》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

随机密码生成器
随机密码生成器

多种字符组合密码

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具