pyramid getting start

1 安装pyramid

官方建议使用virtualenv安装pyramid:

$ cd /path/to/your/virtual/env
$ virtualenv –no-site-packages pyramid
$ cd pyramid $ bin/pip install pyramid

安装的东东比较多:

 
用途
pyramid web 框架
Chameleon 模板
Mako 另一个模板
WebOb WSGI 框架
repoze.lru cache支持
zope.interface ZCA的接口框架
zope.deprecation 实现“不建议使用”功能,可以用于模块、类、函数、方法和属性
venusian 延迟修饰(deferring decorator)功能
translationstring 国际化
PasteDeploy WSGI应用部署工具
MarkupSafe 标记语言支持

 

如果使用的是pyramid 1.3a7,还需要安装waitress(Pylons项目下面的一个WSGI server):

$ bin/pip install waitress

 

2 创建工程

pyramid支持三种类型的工程模板:

 

 
工程模板 描述
starter 最基本的web框架
zodb 使用漫游(traversal)实现URL映射,并使用ZODB进行持久化
alchemy 使用URL dispatch实现URL映射,并使用SQLAlchemy进行持久化

如果使用过Zope,当然选择zodb模板会比较熟悉,但如果不是,不妨尝试一下alchemy,因为SQLAlchemy几乎成了python ORM的事实标准。

使用alchemy工程模板创建工程,只需要执行命令:

$ pyramid/bin/pcreate -s alchemy MyProject

pyramid会创建如下的目录结构和文件:

 

 

MyProject/
├── CHANGES.txt
├── MANIFEST.in
├── README.txt
├── development.ini
├── myproject
│   ├── __init__.py
│   ├── models.py
│   ├── scripts
│   │   ├── __init__.py
│   │   └── initializedb.py
│   ├── static
│   │   ├── favicon.ico
│   │   ├── footerbg.png
│   │   ├── headerbg.png
│   │   ├── ie6.css
│   │   ├── middlebg.png
│   │   ├── pylons.css
│   │   ├── pyramid-small.png
│   │   ├── pyramid.png
│   │   └── transparent.gif
│   ├── templates
│   │   └── mytemplate.pt
│   ├── tests.py
│   └── views.py
├── production.ini
├── setup.cfg
└── setup.py

 

 

先看一下MyProject/目录,这是一个典型的python工程发布结构,其中的一些文件如下:

 
文件说明
CHANGES.txt 变更说明,可以使用ReStructuredText格式
MANIFEST.in 装箱文件,决定哪些代码会被发布
README.txt 项目简介,使用ReStructuredText 格式编写。
development.ini PasteDeploy配置文件,用于开发阶段
production.ini PasteDeploy配置文件,用于发布阶段
setup.cfg和setup.py setuptools的配置文件和执行文件

如果需要对这个结构进行扩展,可以参考python开源项目目录结构

 

在MyProject目录下还会创建一个python package:myproject,这是放置Pyramid应用。如果用过Django,会发现这个目录结构与Django的很像。简单说明一下:

 

 
文件/目录说明
_init__.py Python package初始化脚本。Pyramid框架在其中放置了一个main函数,作为一些命令(如pserve,pshell,pviews等)的入口。
models.py 模型代码。在使用alchemy工程模板时该文件包含了SQLAlchemy的基本代码和一个model类的例子
scripts 开发用的一些脚本工具
static web静态文件
templates 模板目录
tests.py 单元测试代码
views.py 视图代码

 

 

3 运行

运行需要三个步骤:测试、部署、运行

$ python setup.py test -q

$ python setup.py develop

$ pserve development.ini

如果是第一次运行web应用,可能还需要初始化数据库:

$  initialize_MyProject_db development.ini

 

注:这里面的python、pserve和都是 /path/to/your/virtual/env/pyramid/bin 下面的脚本。

 

在用pserve运行后,可以从浏览器看到web应用了:http://0.0.0.0:6543

posted @ 2012-09-04 11:26  心内求法  阅读(3372)  评论(0编辑  收藏  举报