金字塔 (pyramid) 简介
金字塔是一个普遍的,开源, Python Web 应用开发框架。其首要目标是为 Python 开发人员更容易的创建 Web 应用程序。
框架与库 |
金字塔尝试遵循这些设计和工程原则:
简单的,金字塔提供了“ 只为你吃的买单 ” 的处理方法。即使你有了金字塔的部分认识,你就可以得到结果。它不会强迫你使用任何特定的技术去开发一个应用程序,我们力求你需要理解的核心概念最小化。
简约的,金字塔仅仅提供了解决创建 Web 应用程序的基本问题: URL 映射到代码 , 模板 , 安全性 和服务的静态资产, 我们 认为这些核心内容是几乎所有的 Web 应用程序 所共同的 .
文档化,金字塔的极简性意味着它是我们更容易维护完整和最新的文档。我们的目标是:无文档,是金字塔的一个方向(不通顺)。
可靠性,金字塔经过谨慎的开发和详尽的测试过。凡金字塔源代码而言,我们的座右铭是:“如果没有测试,不公开(不会翻译原文:If it ain’t tested, it’s broke”)。
开放性,正如Python的开放性一样,金字塔软件是一个自由的开源许可下发布的。
速度,金字塔设计出提供明显快速执行常见任务,如模板和简单的响应生成。虽然“硬件很便宜”,这种方法限制会明显痛苦,当人们发现他或她负责需要管理大量机器的情况下。
1.1金字塔的独特
省略n字.......................................
如何独特功能,详述如下:
1.1.1单文件的应用程序
你可以写出一个金字塔应用程序完全运行在一个Python文件是,不同于现有的Python 微框架的应用程序,一次性原型,臭虫繁殖,非常小的应用程序,这是有益的。
这些应用程序很容易理解,因为所有有关应用程序的信息都存在一个单一地方,你可以部署,而无需了解Python发行和包装。
金字塔作为微框架没有正真地市场化,但它可以让你做几乎所有的,用非常相似的方式销售这个框架。
from paste.httpserver import serve
from pyramid.config import Configurator
from pyramid.response import Response
def hello_world(request):
return Response('Hello %(name)s!' % request.matchdict)
if __name__ == '__main__':
config = Configurator()
config.add_route('hello', '/hello/{name}')
config.add_view(hello_world, route_name='hello')
app = config.make_wsgi_app()
serve(app, host='0.0.0.0')
代码另存helloworld.py然后python解析器去执行它(在安装了pyramid前提下)
然后通过web浏览器访问URL: http://127.0.0.1:8080/hello/world
会出现”Hello world!”字样文本响应输出.
停止应用程序请cmd输入ctrl+c
现在我们有基本了解一个的应用程序的样子,让我们来一块一块检查分析它。
先从导入Imports开始:
下面helloworld.py代码中使用了一组导入语句
from paste.httpserver import serve
from pyramid.config import Configurator
from pyramid.response import Response
这段第二行代码:从pyrmaid.config模块中导入Configurator类,以后经常用来这个Configurator配置类的一个实例来配置你的金字塔的应用。
像许多其他的Python Web框架,金字塔使用WSGI协议来连接应用程序和Web服务器,导入paste.httpserver服务器作为WSGI服务器来使用是为方便起见,在这个例子中,金字塔本身依赖于paster包。
这段代码还导入pyramid.response.Response类供以后使用。这个类的一个实例将被用来创建一个Web响应。