用于快速 Pyramid 开发的一组贴纸模板
项目描述
介绍
RapidGiza是一组用于快速 Pyramid 开发的贴纸模板。它为开发人员提供了几个框架选择,它们是:
底层 Web 框架的金字塔
基于遍历的url路由
Jinja2为页面模板语言(类似于 Django 模板)
SQLAlchemy用于基于 ORM 的关系数据库持久性
重要网址
PyPi 入口 - http://pypi.python.org/pypi/RapidGiza
设置新项目
将 RapidGiza 安装到 Python 环境(即virtualenv)中,并带有工作的 Paster。完成此操作后,您可以通过简单地运行来创建一个新的 RapidGiza 项目(其中Something是您的新蛋的名称):
paster create -t rapidgiza Something
创建模板 egg 后,您应该将其设置为开发模式以开始处理您的项目。
cd Something python setup.py develop
使用新项目
命令运行器
默认情况下,将在 python 环境的bin目录中创建一个名为something的新脚本。此脚本是一个命令运行程序,提供以下内容:
Commands: runserver Run a reloadable development web server.
贴士
将在Something 目录中创建一个development.ini文件。这可以与标准粘贴命令一起使用:
# use builtin paster http server paster serve development.ini # use the pyramid pshell command paster --plugin=pyramid pshell development.ini pyramid-Something
使用 Apache+mod_wsgi 部署
生成了一个预先配置的Something.wsgi文件,这是将您的应用程序插入 mod_wsgi 环境所必需的。
一个简单的 apache 虚拟主机条目将如下所示:
<VirtualHost *:80> ServerName www.something.com WSGIScriptAlias / /path/to/Something.wsgi </VirtualHost>
与新项目一起发展
基础框架
RapidGiza 基于Pyramid Web 应用程序框架。因此,Pyramid api 将始终是使用 Web 应用程序的首选 api。有关更多详细信息,请参阅Pyramid 文档。
模板
位于Something/something/templates目录中的任何以.jinja2扩展名结尾的文件都将使用Jinja2模板系统呈现。此模板语言基于 Django 模板语言。
RapidGiza 默认生成两个模板文件,一个包含名为 layout.jinja2 的整体布局,另一个用于名为main.jinja2的默认主页。
数据访问
所有数据访问都由包装关系数据库的SQLAlchemy ORM框架处理。开箱即用,RapidGiza 创建的任何新项目都将具有SQLAlchemy数据库会话工厂设置。
RapidGiza 将 orm 模型类放在models.py Python 文件中。活动数据库会话始终可以作为请求对象的db 属性进行检索。
交易支持
事务用于确保执行全部或不执行。借助非常有用的repoze.tm2和事务包,这可以在Pyramid应用程序中轻松完成。
RapidGiza 确保所有请求都加入一个新事务,因此如果发生任何错误/异常,事务会自动回滚。通过提供的会话工厂创建的任何数据库会话都会自动加入此事务,并在发生错误时回滚。
遍历
Pyramid Web 应用程序框架提供了一种方便的机制来遍历对象图并将该图映射到 url 。RapidGiza 将其遍历机制存储在traversal.py文件中。
学分
由 Rocky Burt (rocky AT serverzen DOT com) 创建和维护
变化
0.2.1 - 2011 年 2 月 16 日
更新 url 指向 github repo
0.2 - 2011 年 2 月 5 日
从 Werkzeug 切换到 Khufu-Script
现在使用 Khufu-SQLAHelper
0.1.4 - 2010 年 12 月 1 日
另一个丢失的文件(不会再发生)
0.1.3 - 2010 年 11 月 30 日
向 MANIFEST.in 添加了另一个丢失的文件
0.1.2 - 2010 年 11 月 29 日
更改了make_app()签名
添加了 development.ini 以便与 Paster serve 一起使用
生成的项目现在包括两个 Paster 应用程序
<<project>>:app - 包含中间件的 Web 应用程序
<<project>>:pyramid-app - 没有中间件的 Web 应用
0.1.1 - 2010 年 11 月 29 日
修复了 MANIFEST.in 以便 sdist 包含适当的文件
0.1 - 2010 年 11 月 29 日
初始版本