Zope Web框架
项目描述
BlueBream
简介
BlueBream – 曾被称为 Zope 3 – 是用Python编程语言编写的Web框架。
BlueBream是免费/开源软件,由 Zope基金会 拥有,根据 Zope公共许可证 (类似BSD,兼容GPL的许可证) 许可。
特性
以下是区分BlueBream与其他Python Web框架的特点
BlueBream建立在 Zope工具包 (ZTK) 之上,ZTK拥有多年的经验,证明它符合稳定、可扩展软件的严格要求。
BlueBream使用强大的、熟悉的用Python编写的Buildout构建系统。
BlueBream采用Zope对象数据库ZODB,这是一个事务性对象数据库,提供极强且易于使用的持久化功能。
BlueBream使用Zope组件标记语言(ZCML)注册组件,这是一种基于XML的配置语言,提供无限的灵活性。
BlueBream具有Zope组件架构(ZCA),它实现了关注点分离,以创建高度内聚且可重用的组件(zope.component)。
BlueBream借助PasteDeploy实现了WSGI规范(Web服务器网关接口)。
BlueBream包含一些经过良好测试的组件以实现常见活动。其中一些是
zope.publisher在网络上发布Python对象,强调WSGI兼容性
zope.security提供通用的可插拔安全策略机制
zope.testing和zope.testbrowser提供单元和功能测试框架
zope.pagetemplate是用于开发模板的XHTML兼容语言
zope.schema是一个用于描述数据模型的模式引擎
zope.formlib是从您的模式自动生成表单的工具
安装
如果您已安装setuptools或distribute,则将可用easy_install命令。然后,您可以使用以下easy_install命令安装BlueBream
$ easy_install bluebream
需要互联网访问PyPI以执行BlueBream的安装。
bluebream发行版提供基于PasteScript模板的快速项目创建工具。一旦BlueBream安装完成,运行paster命令以创建项目目录结构。paster提供的create子命令将显示向导以创建项目目录结构。
$ paster create -t bluebream
这将启动一个向导,要求您提供有关新项目的一些详细信息。如果您提供包名和版本号,您将得到一个可进一步修改的工作应用程序。项目名称将用作egg名称。您也可以稍后更改提供的值。
可以将项目名称作为命令行参数提供
$ paster create -t bluebream sampleproject
您可以使用点分名称,以便包在命名空间中创建,有任意多的级别,例如“sample.main”或“sample.app.main”。这将导致嵌套结构,允许您将大型项目分割成几个包。
如果您在命令行中提供选项,则向导不会提示。以下变量给出,如果需要,您可以从命令行提供值
interpreter – 自定义Python解释器的名称
bluebream – BlueBream的版本
version – 您项目的版本(例如:0.1)
description – 包的一行描述
long_description – 多行描述(在reStructuredText中)
keywords – 空格分隔的关键字/标签
author – 作者姓名
author_email – 作者电子邮件
url – 主页的URL
license_name – 许可证名称
如果您很着急,您可以直接按Enter/Return键,稍后再更改值。但提供一个好的项目名称会更好。
使用
生成的包包含了Buildout配置和Buildout引导脚本(bootstrap.py)。首先,您需要引导Buildout本身
$ cd sampleproject $ python bootstrap.py
引导脚本将安装zc.buildout和distribute包。同时,它还将创建基本的目录结构。下一步是构建应用程序。要构建应用程序,请运行buildout
$ ./bin/buidout
buildout脚本将下载所有依赖项,并设置运行您的应用程序的环境。
在开发应用程序时,您最常见的需求之一是运行服务器。BlueBream使用PasteScript提供的paster命令来运行WSGI服务器。要运行服务器,可以将PasteDeploy配置文件作为serve子命令的参数,如下所示
$ ./bin/paster serve debug.ini
一旦运行了服务器,您就可以从这里访问它:http://localhost:8080/。端口号(8080)可以从PasteDeploy配置文件(debug.ini)中更改。
其次最常见的事情可能是运行测试用例。BlueBream使用Buildout的zc.recipe.testrunner配方创建测试运行器。您可以在bin目录中看到一个test命令。要运行测试用例,只需运行此命令
$ ./bin/test
有时您可能想获取调试外壳。BlueBream提供了一个带有您的应用程序对象的Python提示。您可以像这样调用调试外壳
$ ./bin/paster shell debug.ini
有关测试运行器和调试外壳的更多信息,将在BlueBream手册中解释。您可以从文档网站继续了解BlueBream。
资源
错误和问题在launchpad上进行跟踪。
源代码在Zope 仓库中进行管理。您可以像这样执行只读检出主分支代码(匿名访问)
svn co svn://svn.zope.org/repos/main/bluebream/trunk bluebream
在签署贡献协议后,您也可以成为源代码贡献者(提交者)
您可以在维基上查看有关贡献的更多详细信息。
变更日志
1.0 (2011-01-18)
从site.zcml文件中包含zope.location、zope.keyreference、zope.intid和zope.contentprovider、zope.i18n。
重新组织zcml文件(用于部署、调试和测试)
更新到ZTK 1.0.1
1.0b4 (2010-08-26)
更改自定义解释器名称:s/breampy/bbpy
修复了生成的buildout,并使其可重复
添加了“extends-cache”Buildout选项,用于缓存扩展配置文件
如果项目模板有重大更改,则提醒用户
添加了空的overrides.zcml - 向开发者展示最佳实践
更新到ZTK 1.0a3
自动在线查找并建议最新次要版本
添加了zope.app.http注册,以获取正确的未经授权视图
1.0b3 (2010-07-11)
直接依赖ZTK!
删除了bbkit包
在项目创建时询问BlueBream的版本
自动在线查找并建议最新版本
1.0b2 (2010-06-30)
从site.zcml中包含zope.error & zope.principalregistry
1.0b1 (2010-04-27)
为示例应用程序设置name & description
在基本模板中使用项目名称作为i18n_domain
通过允许创建平面或嵌套命名空间结构,并将包名称合并为单个模板
默认启用Distribute而不是Setuptools
添加了zope.app.schema注册,以便能够注册命名词汇表
移除了buildout模板,并包含两个zope.conf文件,一个用于部署,一个用于调试(devmode)。
1.0a5 (2010-03-28)
在bluebream_simple模板中包含示例应用。
将蓝bream模板提供的示例应用移至名为welcome的子包中,类似于bluebream_simple。示例应用可以被轻松移除。
示例应用对象使用‘zope.site.interfaces.IFolder`而不是zope.container.interfaces.IContainer。
从site.zcml中包含zope.session。
为了方便,在site.zcml中包含browser命名空间。
在versions.cfg中添加一个空的[versions]部分,并建议固定其他依赖项的版本。
从依赖列表中移除zope.app.twisted。
由于BlueBream需要ZODB 3.9,FileStorage不需要用BlobStorage代理包装即可获得ZODB blob支持。
默认ZODB blob布局应为‘bushy’。修复LP #543525。
在etc/zope.conf中使用相对路径。修复LP #543451。
在ftesting.zcml中指定i18n域。修复LP #543516。
缺少zope.browserresource包的注册。修复LP #541457。
1.0a4 (2010-03-07)
添加了一个空的PKG-INFO,作为解决“空目录”问题的替代方案。(参考:LP #503301)
1.0a3 (2010-03-07)
bluebream_base模板的总结改为:“一个BlueBream项目,基本模板”
再次启用bluebream_simple。文档在此处可用:http://wiki.zope.org/bluebream/AlternateProjectTemplates
1.0a2 (2010-03-02)
使用模板显示根文件夹的默认页面。
使用zope.formlib.form.DisplayForm作为视图的基础类,而不是zope.publisher.browser.BrowserView。
示例应用的表单视图名称从@@add更改为@@add_sample_app。
添加到BlueBream网站和邮件列表的链接。
添加了许可文件。
改进README.txt中的“用法”部分。
包含zest.release以准备发布。
包含bluebream_simple模板(这不会与1.0a2一起发布,因为文档尚未准备好)。
将蓝bream模板代码移至bluebream_base。
将包含CSS的静态资源目录添加到bluebream_base(基于bluebream_simple)。新样式应用于主页。
1.0a1 (2010-02-06)
使用已发布的包分发版本: http://download.zope.org/bluebream/bluebream-1.0a1.cfg
将新包包含到site.zcml模板中。
zope.app.publisher.xmlrpc(meta.zcml)
zope.copypastemove
zope.app.pagetemplate
将模板摘要改为:一个BlueBream项目
移除了Sphinx-PyPI-upload - 因为网站已移至http://bluebream.zope.org
在项目模板中从site.zcml添加了zope.traversing.browser。参考:http://bit.ly/80xltO
0.1.9 (2010-01-13)
LP #506879:添加了调试shell。基本用法
./bin/paster shell debug.ini
0.1.8 (2010-01-12)
在configure.zcml中将默认的ZCML命名空间设置为zope。
改进文档。
默认创建一个示例应用。
0.1.7 (2010-01-10)
更新版本:zope.tales = 3.5.0
LP #505362:修复。主包名硬编码为‘main’
更改‘defaultView’注册位置和接口。
LP #505413:默认自定义Python解释器的名称应该可以自定义
0.1.6 (2010-01-07)
LP #502819:新鲜安装后的主页
从模板中移除了hello视图。
LP #502941:添加trove分类器。
在PyPI页面上提到所有资源。
0.1.5 (2010-01-07)
LP #503388:“namespace_package”的值不应该为空字符串。
更新描述,添加推广视频。
0.1.4 (2010-01-04)
LP #503301:解决“空目录”问题的替代方案。
将作者改为“BlueBream”团队,并将电子邮件地址更改为zope-dev列表。
0.1.3 (2010-01-04)
LP #502817:变量目录及其子目录不存在
文档改进:添加了“使用”章节
0.1.2 (2010-01-03)
为项目添加了功能测试支持
基于 Sphinx 的文档基础设施改进
LP #502529:更新向导以在 setup.py 中请求更新所有包元数据
0.1.1 (2010-01-02)
修复缺失的包数据。0.1.0 版本已损坏。
改进文档。
0.1.0 (2010-01-02)
初始发布。
下载
项目详情
bluebream-1.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e9f8753d183105928487ae7a4b1158c1b30ec50fe105705aa216c9b524167067 |
|
MD5 | 389c82cf372cf292942f38fe09f8d1b4 |
|
BLAKE2b-256 | 0707d5f9ed9c8acb4a05e01ae4dce95bd591d7d1173d0f856278608d2310c74e |