Python Web框架pyramid学习笔记

最近学习了一个新的Python web框架,按照它文档上写的,它是一个独一无二的框架,学习一点点就能很快进行小应用开发,但是与其他微型框架不一样的地方在于,当你学习更多的功能的时候,你就能完成一个大型应用,大框架和小框架的特色兼备。经过来几天的学习,写一个学习笔记来总结学习以及和大家交流。


一、金字塔尝试遵循这些设计和工程原则:


简单,金字塔提供了“ pay only for what you eat ” 的处理方法。即使你有了金字塔的部分认识,你就可以得到结果。它不会强迫你使用任何特定的技术去开发一个应用程序,我们力求你需要理解的核心概念最小化。

简明(Simplicity ),金字塔仅仅提供了解决创建 Web 应用程序的基本问题: URL 映射到代码 , 模板 , 安全性 和服务的静态资产, 我们 认为这些核心内容是几乎所有的 Web 应用程序 所共同的 ,其他组建部分可以让用户自己选择。

 文档化(Minimalism),金字塔的极简性意味着它是我们更容易维护完整和最新的文档。我们的目标是:任何一个 Pyramid 相关方面都有参考文档

可靠性(性能可靠),金字塔经过谨慎的开发和详尽的测试过。凡金字塔源代码而言,座右铭是:If it ain’t tested, it’s broke。

 开放性,正如Python的开放性一样,金字塔软件是一个自由的开源许可下发布的,采用宽松的许可协议

速度,金字塔设计出提供明显快速执行常见任务,例如模板渲染生成一个简单的响应。虽然“硬件很便宜”,当人们发现他或她负责需要管理大量机器的情况下会发现通过增加硬件来提高速度的效果会带来很多限制和痛苦。


同时,Pyramid采用的是类似与Django的MVC结构————MVT(model,view,template)结构,控制器部分由框架来自动管理。


二、Pyramid安装

官方推荐使用virtualenv提供Python虚拟机制来安装Pyramid,可以隔离各个操作环境,更好处理各种包依赖冲突。

1、首先确保电脑上安装setuptools

    打开Python环境,导入setuptools没有报错说明已经安装:

>>>import setuptools

>>>

如果没有安装,那请下载http://peak.telecommunity.com/dist/ez_setup.py   文件,再输入一下命令安装:

sudo python ez_setup.py
2、安装virtualenv(末尾的env自己命名)
sudo easy_install virtualenv
3、安装Pyramid

virtualenv --no-site-packages env
cd env
bin/easy_install pyramid
安装以后会包含:pyramid,模板(Chameleon、Mako),PasteDeploy等组件。
三、创建工程
Pyramid支持三种工程模板:
	starter:使用URL dispatch实现URL映射,没有使用存储机制;
	  zodb:使用traversal实现URL映射,并使用ZODB实现持久化;
	alchemy:使用URL dispatch实现URL映射,并使用SQLAlchemy实现持久化。

1、比如输入以下指令即可创建一个名为Myproject的alchemy模板工程:
env/bin/pcreate -s alchemy Myproject
2、运行和测试:
   如果第一次运行工程,可能需要初始化数据库:
env/bin/initialize_Myproject_db development.ini
运行需要三个步骤:测试、部署、运行
env/bin/python setup.py test -q
env/bin/python setup.py develop
env/bin/pserve development.ini --reload
运行pserve后就可以在浏览器中输入http://0.0.0.0:6543中查看web应用了。


                                  

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值