用于快速金字塔开发的粘贴模板集

RapidGiza的Python项目详细描述


简介

RapidGiza是一组用于快速金字塔开发的粘贴模板。它 为开发人员提供以下几种框架选择:

  • Pyramid for the underlying web framework
    • traversal based url routing
  • Jinja2 for the page template language (similar to Django templates)
  • SQLAlchemy for ORM-based relational database persistence

设置新项目

将rapidgiza安装到python环境(即virtualenv)中 贴纸。完成后,您可以创建一个新的rapidgiza项目 只需运行(其中something是新鸡蛋的名称):

paster create -t rapidgiza Something

一旦模板蛋被创建,你应该在开发中设置它 开始处理项目的模式。

cd Something
python setup.py develop

使用新项目

命令行程序

默认情况下,名为something的新脚本将在^{tt1}中创建$ python环境的目录。这个脚本是一个命令 提供以下功能的跑步者:

Commands:
    runserver             Run a reloadable development web server.

贴纸

将在something 目录。这可以与标准的paster命令一起使用:

# 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条目如下:

<VirtualHost *:80>
    ServerName www.something.com

    WSGIScriptAlias / /path/to/Something.wsgi
</VirtualHost>

与新项目一起开发

基本框架

rapidgiza基于Pyramidweb应用程序 框架。因此,Pyramidapi将始终是 使用web应用程序的go-to api。拜托 有关详细信息,请参见Pyramid docs

模板化

任何以.jinja2扩展名结尾的文件都位于 Something/something/templates目录将使用 模板系统。此模板语言是 基于django模板语言。

RapidGiza默认生成两个模板文件,其中一个包含 整个布局名为,layout.jinja2,一个用于默认的main 已调用页,main.jinja2

数据访问

所有数据访问都由SQLAlchemyORM框架处理,该框架包装 关系数据库。开箱即用,任何由rapidgiza创建的新项目 将有一个SQLAlchemy数据库会话工厂设置。

rapidgiza将orm模型类放在models.pypython中 文件。活动数据库会话始终可以作为^{tt10}检索$ request对象的属性。

事务支持

事务用于确保执行全部或不执行任何操作。与 非常有用的repoze.tm2transaction包 在Pyramid应用程序中容易完成。

rapidgiza确保所有请求加入一个新事务,以便 如果发生任何错误/异常,事务将自动 后退。通过提供的会话创建的任何数据库会话 工厂自动加入此事务并将回滚 如果发生错误。

横向

Pyramidweb应用程序框架提供了一种方便的机制 遍历对象图并将该图映射到url。rapidgiza存储 它是traversal.py文件中的遍历机制。

学分

  • Created and maintained by Rocky Burt (rocky AT serverzen DOT com)

更改

0.2.1-2011年2月16日

  • Updated url’s to point to github repo

0.2-2011年2月5日

  • switched from Werkzeug to Khufu-Script
  • now using Khufu-SQLAHelper

0.1.4-2010年12月1日

  • yet another missing file (won’t happen again)

0.1.3-2010年11月30日

  • Added yet another missing file to MANIFEST.in

0.1.2-2010年11月29日

  • Changed ^{tt13}$ signature
  • Added development.ini for out-of-the-box use with Paster serve
  • Generated projects now include two Paster apps
    1. <<project>>:app - Web app with included middleware
    2. <<project>>:pyramid-app - Web app without middleware

0.1.1-2010年11月29日

  • Fixed MANIFEST.in so sdist contains appropriate files

0.1-2010年11月29日

  • Initial version

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Intellij通过方法中的包查找用法   java中VS代码和打包命名的问题   将java CMS功能集成到具有高度动态内容的网站(Lucene/Mysql/Nosql)的策略   oracle的java类强制转换异常。jdbc。驾驶员OracleConnection   字节码向JVM添加上指令   如何在抽象类中执行java方法?   java是否可以在apache访问日志中排除指定的GET参数?(作者:W7开发环境)   java如何获取已安装音频播放器的列表?   尝试向HS学生展示如何使用Java访问MS数据库   使用正则表达式java对给定行中的特定字符串进行计数   java JOOQ Select查询中的Select计数   方法Java,如何从二维双精度数组中找到特定值?   获取图像URL的java正则表达式   java在切换到新的窗口驱动程序后找不到元素