Pyramid快速开发的一套paster模板
项目描述
简介
khufu_opinion 是一套用于快速Pyramid开发的paster模板。它为开发者提供了以下框架选择:
Pyramid 作为底层网络框架
基于遍历的URL路由
Jinja2 作为页面模板语言(类似于Django模板)
SQLAlchemy 作为基于ORM的数据库持久化
重要URL
设置新项目
将khufu_opinion安装到具有有效Paster的Python环境(例如 virtualenv)中。完成后,您可以通过运行以下命令创建一个新的khufu_opinion项目(其中 Something 是您新egg的名称)
paster create -t khufu_starter Something
一旦创建了模板egg,您应将其设置为开发模式以开始工作。
cd Something python setup.py develop
使用新项目
命令运行器
默认情况下,会在Python环境的 bin 目录中创建一个名为 something-manage 的新脚本。此脚本是一个命令运行器,提供以下功能:
Commands: runserver Run a reloadable development web server. loaddata Add data based on the YAML from filename shell Launch a Python shell syncdb Ensure all database tables exist
Paster
将在Something目录内创建一个development.ini
文件。这可以使用标准的paster
命令。
# use builtin paster http server paster serve development.ini
使用Apache+mod_wsgi进行部署
已生成预配置的Something.wsgi
文件,这是将应用程序连接到mod_wsgi环境所必需的。
一个简单的Apache虚拟主机条目看起来像这样
<VirtualHost *:80> ServerName www.something.com WSGIScriptAlias / /path/to/Something.wsgi </VirtualHost>
使用新项目进行开发
基本框架
khufu_opinion
基于Pyramid Web应用程序框架。因此,Pyramid API将始终是处理Web应用程序的首选API。有关详细信息,请参阅Pyramid文档。
模板化
位于Something/something/templates
目录内的任何以.jinja2
扩展名结尾的文件都将使用Jinja2模板系统进行渲染。这种模板语言基于Django模板语言。
khufu_opinion
默认生成两个模板文件,一个包含总体布局,称为layout.jinja2
,另一个用于默认主页,称为main.jinja2
。
数据访问
所有数据访问都由包装关系型数据库的SQLAlchemy ORM框架处理。khufu_opinion默认为任何新项目设置SQLAlchemy数据库会话工厂。
khufu_opinion将ORM模型类放在models.py
Python文件中。活动数据库会话始终可以从request
对象的db
属性中检索。
事务支持
事务用于确保执行所有或无。借助非常有用的pyramid_tm、repoze.tm2和transaction包,可以在Pyramid应用程序中轻松实现。
khufu_opinion确保所有请求都加入一个新事务,因此如果发生任何错误/异常,事务将自动回滚。通过提供的会话工厂创建的任何数据库会话都会自动加入此事务,并且如果发生错误,将回滚。
遍历
Pyramid Web应用程序框架提供了一个方便的机制来遍历对象图并将其映射到URL。khufu_opinion将遍历机制存储在resources.py
文件中。
致谢
由Rocky Burt创建和维护(rocky AT serverzen DOT com)
更改
0.5 - 2011年5月14日
现在使用khufu_script
traversals
模块现在是resources
0.2.2 - 2011年2月20日
从RapidGiza重命名为khufu_opinion
0.2.1 - 2011年2月16日
更新URL以指向GitHub存储库
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日
初始版本
项目详情
khufu_opinion-0.5.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3531da6c52ed37109414f16a279da5e8ba8d384e1a63ca028e331a59825ead4d |
|
MD5 | 7c593efd6da3b322f7045739f95c63a5 |
|
BLAKE2b-256 | 9bf1da147250fcf1288fea37155266a50d8a46127e7837297e3bacb480b08a14 |